按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
UINT CMltithrdView::ThreadFunc(LPVOID ThreadArg)
{
DWORD dwArg = *(DWORD*)ThreadArg;
// 。。。在这里做如同第1章的MltitThrd 一样的绘图动作
return 0;
}
好,到此为止,编译联结,获得的程序将在执行后产生五个执行线程,并全部冻结。以Process
Viewer (Visual C++ 5。0 所附工具)观察之,证明它的确有六个执行线程(包括一个主执行
线程以及我们所产生的另五个执行线程):
768
…………………………………………………………Page 831……………………………………………………………
14 MFC
第 章 多緒程式設計
接下来,留给你的操作是:
1。 利用资源编辑器为程序加上各菜单项目,如图1…9。
2。 设计上述菜单项目的命令处理例程。
3。 在执行线程函数ThreadFunc 内加上计算与绘图能力。并判断使用者选择何种延
迟方式,做出适当反应。
769
…………………………………………………………Page 832……………………………………………………………
第篇 深入 MFC 程式設計
770
…………………………………………………………Page 833……………………………………………………………
15 AppWizard
第 章 定製個
第15 章
定制一个 AppWizard
我们的Scribble 程序一路走来,大家可还记得它一开始并不是平地而起,而是由
AppWizard 以「程序代码产生器」的身份,自动为我们做出一个我所谓的「骨干程序」来?
Developer's Studio 提供了一个开放的AppWizard 接口。现在,我们可以轻易地扩充
AppWizard :从小规模的扩充,到几乎改头换面成为一种全新类型的程序代码产生器。
Developer's Studio 提供了许多种不同的项目类型,供你选择。当你选按Visual C++ 5。0 整
合环境中的【File/New 】命令项,并选择【Projects 】附页,便得到这样的对话窗画面:
771
…………………………………………………………Page 834……………………………………………………………
第篇 深入 MFC 程式設計
除了上述这些内建的程序类型,它还可以显示出任何自定程序类型(custom types )。
Developer's Studio (整合环境)和AppWizard 之间的接口借着一组类别和一些组件表现
出来,使我们能够轻易订制合乎自己需求的AppWizard 。制造出来的所谓custom
AppWizard (一个扩展名为。AWX 的动态联结函数库,注),必须被放置于磁盘目录
DevStudioSharedIDETemplate 中,才能发挥效用。Developers Studio 和AppWizard 和
AWX 之间的基本架构如图15…1。
注:我以DUMPBIN (Visual C++ 附的一个观察文件类型的工具)观察。AWX 档,得
到结果如下:
E:DevStudioSharedIDEBINIDE》dumpbin addinwz。awx
Microsoft (R) COFF Binary File Dumper Version 5。00。7022
Copyright (C) Microsoft Corp 1992…1997。 All rights reserved。
Dump of file addinwz。awx
File Type: DLL