Win32學習筆記 第一章 (轉)
學習筆記
作者: 姜學哲(tosail0@163.net">netsail0@163.net)
教材: 設計(第五版)北京大學出版社
[美]Charles Petzold 著
北京博彥科技發展有限公司 譯 ¥:160
環境: server + Internet Explorer 6.0 + 7.0 + Visual C++ 6.0
(圖們江程式編制小組版權所有,轉載請說明出處)
---------------------------------------------------------------------------------
第一章 開始
從第N頁的 對《windows程式設計》的評論 開始嘰嘰歪歪一大堆讚揚之詞過後,在第十頁我總於見到了main(),讓我感到無比親切!
#include
int main()
{
printf("Hello Worldn");
return 0;
}
緊接著就是WINDOWS版本的等價程式
1.3.2 Windows等價程式
/******************************************************
Copyright(c) , TUMEN Programming Clan
() All rights reserved.
Filename: HelloMsg
Author: -Chul Kang
******************************************************/
#include
int WIN WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
MessageBox(NULL, TEXT("Hello, Windows98!"), TEXT("HelloMsg"), 0);
return 0;
}
執行上面的程式後會隨著“叮”的一聲,出現一個對話方塊。可以看到標題欄上有HelloMsg,對話方塊中央出現Hello Windows98!字樣,以及一個“大大”的‘確定’按鈕。恭喜恭喜!你的第一個WINDOWS程式已經問世了!
在標準C中我們需要stdio.h,而在WINDOWS的C中我們需要的是windows.h。
第十二頁中對程式入口點做了介紹。請先不要理會那四個長長的引數。前面說過,就當他不存在就可以了。我們要關注的是MessageBox()。
首先要解釋的是TEXT()。這是一個宏定義,也就是用define定義的。這是為了相容UNICODE字符集而做的改動。以後不管是什麼時候,您最好把字串都用TEXT()括起來,有關UNICODE您可以看第二章。
第十三頁
#define MB_OK 0x00000000L
#define MB_OKCANCEL 0x00000001L
#define MB_ABORTRETRYIGNORE 0x00000002L
#define MB_YESNOCANCEL 0x00000003L
#define MB_YESNO 0x00000004L
#define MB_RETRYCANCEL 0x00000005L
上面的是MessageBox()的第四個引數選項。想了解他們的具體含義很簡單。上面的HelloMsg程式中MessageBox()的第四個引數是零,您可以把那個零換成上面六個常量中的一個,比如:
MessageBox(NULL, TEXT("Hello Windows98!"), TEXT("HelloMsg"), MB_OKCANCEL);
重新執行後您會發現對話方塊中多了一個'取消'按鈕。如果您使用的是英文版,兩個按鈕分別是 OK & CANCEL。您可以一個一個的試。
第十四頁
#define MB_ICONHAND 0x00000010L
#define MB_ICONQUESTION 0x00000020L
#define MB_ICONEXCLAMATION 0x00000030L
#define MB_ICONASTERISK 0x00000040L
這些都是對話方塊中的圖示選項。可以用C語言中“|”運算子與前面所提到的六個選項中的一個結合起來,比如:
MessageBox(NULL, TEXT("Hello Windows98!"), TEXT("HelloMsg"), MB_OKCANCEL | MB_ICONHAND);
執行上面的程式後您將會看到原先的對話方塊中多出了一個紅色的圖示,那是一個表示出錯時用的“叉叉”,這個圖示我不喜歡,我比較喜歡感嘆號,所以把程式改成:
MessageBox(NULL, TEXT("Hello Windows98!"), TEXT("HelloMsg"), MB_OKCANCEL | MB_ICONASTERISK);
執行後您可以'高興'地看到對話方塊中出現了一個白底藍字的感嘆號。
這樣以來,您是不是對MessageBox()的後三個引數有所瞭解了呢?至於第一個引數,等到第三章時再議吧。What??您還是有點迷惑?-_-#我建議您給比爾-蓋茨郵寄一個C4。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992432/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Win32學習筆記 第一章 開始 (轉)Win32筆記
- Win32學習筆記 序 (轉)Win32筆記
- Win32學習筆記 第二章 (轉)Win32筆記
- Win32學習筆記 第三章 HelloWin (轉)Win32筆記
- Win32學習筆記 第二章 Unicode (轉)Win32筆記Unicode
- GIT學習筆記——第一章Git筆記
- 具體數學學習筆記——第一章筆記
- Java基礎學習筆記 第一章Java筆記
- sed學習筆記(轉)筆記
- gurb學習筆記(轉)筆記
- ANT學習筆記 (轉)筆記
- GRUB學習筆記(轉)筆記
- TreeView學習筆記 (轉)View筆記
- Java_EE企業級開發學習筆記——spring學習筆記第一章Java筆記Spring
- Win32學習筆記 第六章 程式6-3 Typer 說明 (轉)Win32筆記
- ctf學習筆記[轉載]筆記
- SAP BASIS學習筆記(轉)筆記
- PE學習筆記(一) (轉)筆記
- JSP標記學習筆記 (轉)JS筆記
- java 程式設計思想的學習筆記 - 第一章Java程式設計筆記
- repuest轉發學習筆記一筆記
- C#學習筆記(一) (轉)C#筆記
- 我的Hook學習筆記 (轉)Hook筆記
- Microsoft Agent 學習筆記 (一) (轉)ROS筆記
- 我的COM學習筆記 (轉)筆記
- APT HOWTO 學習筆記(轉)APT筆記
- 學習筆記:debfoster & deborphan(轉)筆記
- linux安全學習筆記(轉)Linux筆記
- 學習筆記之JAVA圖形設計卷I AWT——第一章緒論 (轉)筆記Java
- numpy的學習筆記\pandas學習筆記筆記
- 多執行緒學習筆記 (轉)執行緒筆記
- sed 學習筆記(與大家共勉)(轉)筆記
- (轉載)ORACLE MODEL子句學習筆記Oracle筆記
- STL的學習筆記之一 (轉)筆記
- <<軟體設計學習筆記>> (轉)筆記
- PMP學習筆記-溝通管理(轉)筆記
- 正規表示式學習筆記 (轉)筆記
- Win32除錯API學習心得(一) (轉)Win32除錯API