zaas 发表于 2012-6-5 00:07

关于作业三的思考

本帖最后由 zaas 于 2012-6-5 00:09 编辑

看了所有作业。。。
基本上都想到用多线程。。。

但是。。。
个人认为,这个没必要多线程吧??

如果一定要用messagebox,多线程是无奈的选择。。。
因为。。。
messagebox是模态对话框。。。

但是。。。
既然是模拟messagebox。。。
为什么一定要用模态对话框呢。。。

用自己画的非模态对话框。。。
不是很好吗。。。

多线程。。。
并不是一个完美的选择。。。

void CTestMessageboxDlg::OnOK()
{
      UpdateData(TRUE);
      CRect rect;
      GetClientRect(&rect);
      ClientToScreen(&rect);
      int x=rect.right;
      int y=rect.top;

      for (int i=0;i<m_num;i++)
      {
                CMyMessageBox *p=new CMyMessageBox;
                p->Create(IDD_DIALOG1);
                p->SetWindowPos(&wndTop,x+20*i,y+20*i,0,0,SWP_NOSIZE);
                p->ShowWindow(SW_SHOW);
      }
}关闭模拟的对话框时。。。
void CMyMessageBox::PostNcDestroy()
{
      CDialog::PostNcDestroy();      
      delete this;
}
ok。。。。


淡然出尘 发表于 2012-6-5 00:09

表示我是VB写的、且没有用多线程、
一开始也想到多线程,但是无奈不易编写,所以在别人的指导下,还是完成了、确实学到了.、

淡然出尘 发表于 2012-6-5 00:10

呃呃呃 VC的看不大懂、

2彩 发表于 2012-6-6 14:22

本帖最后由 chenzhouch 于 2012-6-6 14:24 编辑

:$qqq论家还有个办法,在输入数字后,打开画板 用坐标偏移的方法在画板上 画出 对话框.
求小明加分。。。。。。。http://www.52pojie.cn/static/image/smiley/default/shy.gif

明次 发表于 2012-6-6 14:30

楼上的思维很非凡

zaas 发表于 2012-6-6 15:25

淡然出尘 发表于 2012-6-5 00:10 static/image/common/back.gif
呃呃呃 VC的看不大懂、

{:1_890:}{:1_890:}{:1_890:}{:1_890:}

Ruin 发表于 2012-6-6 15:31

zaas 膜拜 绿林好汉

淡然出尘 发表于 2012-6-6 16:21

chenzhouch 发表于 2012-6-6 14:22 static/image/common/back.gif
论家还有个办法,在输入数字后,打开画板 用坐标偏移的方法在画板上 画出 对话框.
求小明加分。。。。 ...

厉害!这样也行、

淡然出尘 发表于 2012-6-6 16:26

zaas 发表于 2012-6-6 15:25 static/image/common/back.gif


哥们 你貌似违规了

BianChengNan 发表于 2012-7-8 11:37

楼主的代码好,多向楼主学习
页: [1] 2
查看完整版本: 关于作业三的思考