① 如何用C語言開發窗體應用程序。。
生產窗體可以使用函數。
函數功能:該函數創建一個具有擴展風格的層疊式窗口、彈出式窗口或子窗口,其他與CreateWindow函數相同。
函數原型:
CreateWindowEx函數創建一個層疊的,自動彈出的(pop-up)或是一個子窗口通過擴展格式。另外這個函數的作用與CreateWindow函數的作用相同。要獲得更多的關於創建窗口的信息和關於CreateWindowEx函數參數的詳細描述。參見CreateWindow
HWND CreateWindowEx(
DWOR DdwExStyle, //窗口的擴展風格
LPCTSTR lpClassName, //指向注冊類名的指針
LPCTSTR lpWindowName, //指向窗口名稱的指針
DWORD dwStyle, //窗口風格
int x, //窗口的水平位置
int y, //窗口的垂直位置
int nWidth, //窗口的寬度
int nHeight, //窗口的高度
HWND hWndParent, //父窗口的句柄
HMENU hMenu, //菜單的句柄或是子窗口的標識符
HINSTANCE hInstance, //應用程序實例的句柄
LPVOID lpParam //指向窗口的創建數據
);
常式:
include<windows.h>
#include<stdio.h>
LRESULTCALLBACKWinDouProc(
HWNDhwnd,//handletowindow
UINTuMsg,//messageidentifier
WPARAMwParam,//firstmessageparameter
LPARAMlParam//secondmessageparameter
);
classCWnd
{
public:
CWnd()
{
m_hWnd=NULL;
}
BOOLCreateEx(
DWORDdwExStyle,//extendedwindowstyle
LPCTSTRlpClassName,//pointertoregisteredclassname
LPCTSTRlpWindowName,//pointertowindowname
DWORDdwStyle,//windowstyle
intx,//horizontalpositionofwindow
inty,//verticalpositionofwindow
intnWidth,//windowwidth
intnHeight,//windowheight
HWNDhWndParent,//handletoparentorownerwindow
HMENUhMenu,//handletomenuorchild-windowidentifier
HANDLEhInstance,//handletoapplicationinstance
LPVOIDlpParam//pointertowindow-creationdata
);
BOOLShowWindow(intnCmdShow);
BOOLUpdateWindow();
public:
HWNDm_hWnd;
};
BOOLCWnd::CreateEx(
DWORDdwExStyle,//extendedwindowstyle
LPCTSTRlpClassName,//pointertoregisteredclassname
LPCTSTRlpWindowName,//pointertowindowname
DWORDdwStyle,//windowstyle
intx,//horizontalpositionofwindow
inty,//verticalpositionofwindow
intnWidth,//windowwidth
intnHeight,//windowheight
HWNDhWndParent,//handletoparentorownerwindow
HMENUhMenu,//handletomenuorchild-windowidentifier
HANDLEhInstance,//handletoapplicationinstance
LPVOIDlpParam//pointertowindow-creationdata
)
{
m_hWnd=::CreateWindowEx(dwExStyle,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,(HINSTANCE)hInstance,lpParam);
if(m_hWnd!=NULL)
returnTRUE;
else
returnFALSE;
}
BOOLCWnd::ShowWindow(intnCmdShow)
{
return::ShowWindow(m_hWnd,nCmdShow);
}
BOOLCWnd::UpdateWindow()
{
return::UpdateWindow(m_hWnd);
}
intWINAPIWinMain(
HINSTANCEhInstance,//handletocurrentinstance
HINSTANCEhPrevInstance,//handletopreviousinstance
LPSTRlpCmdLine,//pointertocommandline
intnCmdShow//showstateofwindow
)
{
WNDCLASSwndclass;//先設計窗口類
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(DKGRAY_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_HELP);
wndclass.hIcon=LoadIcon(NULL,IDI_WARNING);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WinDouProc;
wndclass.lpszClassName="Magic_Maggie";
wndclass.lpszMenuName=0;
wndclass.style=CS_VREDRAW|CS_HREDRAW;
//某一個變數原油幾個變數去掉一個特徵,可以用取反(~)後再進行與(&)
//例如:style上去掉CS_NOCLOSE,可以style&~CS_NOCLOSE;
RegisterClass(&wndclass);///注意先建立再注冊昂
CWndwnd;
wnd.CreateEx(NULL,"Magic_Maggie","DouDou",WS_OVERLAPPEDWINDOW,0,0,800,600,NULL,NULL,hInstance,NULL);
wnd.ShowWindow(SW_SHOWNORMAL);
wnd.UpdateWindow();
MSGmsg;//消息循環
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);//觸發WinDouProc
}
return0;
}
LRESULTCALLBACKWinDouProc(
HWNDhwnd,//handletowindow
UINTuMsg,//messageidentifier
WPARAMwParam,//firstmessageparameter
LPARAMlParam//secondmessageparameter
)
{
switch(uMsg)
{
caseWM_LBUTTONDOWN:
MessageBox(hwnd,"您按下了滑鼠左鍵昂","豆豆的程序",MB_OK);
HDChdc;
hdc=GetDC(hwnd);
//.text.
TextOut(hdc,0,0,"感謝您對豆豆程序的支持昂",strlen("感謝您對豆豆程序的支持昂"));
ReleaseDC(hwnd,hdc);
break;
caseWM_CHAR:
charszChar[20];
sprintf(szChar,"Charis%d",wParam);
MessageBox(hwnd,szChar,"豆豆的程序",MB_OK);
break;
caseWM_PAINT:
PAINTSTRUCTps;
HDChDc;
hDc=BeginPaint(hwnd,&ps);
TextOut(hDc,0,0,"這個是重繪滴哦",strlen("這個是重繪滴哦"));
EndPaint(hwnd,&ps);
break;
caseWM_CLOSE://這個case與下邊的destroy這個case不要弄錯了,否則窗口不出現,但任務管理器中運行
if(IDYES==MessageBox(hwnd,"您真的要退出么?","豆豆的程序",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
caseWM_DESTROY:
PostQuitMessage(0);
//////////////////////////////////////////?????????????????????
break;
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);//別忘記了return
}
return0;
}
② windows窗體應用程序和MFC有什麼區別
MFC才可以做到真正做到可視化(visual)。VC6.0貌似沒有窗口程序的吧。Visual
Studio才有的。不過是用了回.net技術,應答該是VC++.NET。
VC6.0有的是Win32應用程序,這個就是基本用代碼寫的Win32程序,靈活,可以清晰的了解Windows程序的運行方式。
③ VC++ windows窗體程序
vc下面的picture控制項是吧?
它的屬性裡面有選項,在裡面選擇類型為BITMAP,再選擇點陣圖的專id就好了
如果用代碼實屬現的話,
你看看這兒吧
http://apps.hi..com/share/detail/32232749
④ visual studio 里的VC++中有兩個可以創建的項目:MFC 應用程序與WINDOWS Forms即窗體應用程序 之間的不同
你說的沒錯,MFC是不基於.net的,而WinForm是基於.net的。
用MFC開發的程序經過簡單的設置(設版置為靜態連權接),其release版本就可以脫離開發環境成為一個綠色軟體。而WinForm則不然,它的release版本的軟體需要開發時設置的對應版本及以上版本的.net運行庫的支持才能運行。當然也可以用一些軟體構建一個虛擬的.net環境,以前的飛信就是這么做的,可以利用飛信的虛擬環境來將你的WinForm程序(release版本)脫離Windows的.net來運行,但這樣軟體包會變的非常大(約大20M左右)。當然,vista和win7都已經在系統安裝時集成了.net,所以xp以上的系統不必考慮.net的支持。
其實MFC是基於visual C++語言的開發,而WinForm是基於託管C++的開發,也就是說WinForm程序開發可以簡單認為是通常所說的CLI或者是C++/CLR。
WinForm用C#語言來開發比較方便。
⑤ 怎樣用VC++開發多文檔多窗體應用程序
就是建一個工程抄:
打開VC++,執行「文件」——「新建」命令,單擊「Win32 Console Application」選項後,在「工程」文本框中輸入「prog10_1」,在「位置」中選擇「c:\programming」後,「位置」文本框中即顯示「c:\programming\prog10_1」.選擇「創建新工作區」選項,單擊「確定」按鈕後,在選擇「An empty project」選項,即建立了一個工程。
添加源程序:
執行「工程」——'添加工程"命令,在file中選擇prog10_1.cpp,並以同樣方式選擇prog10_1_2.cpp和prog10_1_3.cpp後,就將三個源文件全部添加到了工程中。在左側窗口中單擊"File view"選項卡,再單擊"Source File",此時雙擊某個源文件名,在右側窗口中即顯示相應的源程序。
⑥ 怎樣用VC++開發多文檔多窗體應用程序
文章摘要: 多窗體指應用程序中有多個窗口界面,這些窗口分別顯示在專屏幕上,它們之屬間沒有絕對的從屬關系。在多窗體中每個單獨的窗體都依照應用功能分類進行設計,這樣可以使整個程序的功能更加協調,相互之間的邏輯關系更具體。在用Delphi、VB開發資料庫應用時,常常使用這種方法,那麼在VC中如何實現呢?其實在VC中不僅能創建多窗體程序,而且也可建立多窗體多菜單的應用程序。 (共2頁)
⑦ VC++中有了MFC應用程序為什麼還有windows窗體應用程序(區別)
winform 是基復於託管c++的,編程效率高,開制發程序簡單方便,但需要.net支持。且計算機開機後首次運行需要.net支持的程序時需要載入.net運行庫,啟動速度較慢。
MFC在進行設置後就可以生成只需要windows xp以下系統自帶的動態庫就可以運行了,相當於綠色軟體。
⑧ 怎樣用vc++編寫一個窗口應用程序
1、首先設計好界面。

⑨ VC++中windows窗口程序和MFC應用程序有什麼區別
這是兩種不同的編程方法。
編 Windows 窗口程序,消息的處理等很多事情得你自己考慮。但回是你很清楚程序的走向。
MFC 編程答是微軟將 windows 的 API 進行了一定程度的封裝。編程時,很多事情不用你自己去考慮。調用 MFC 的函數就可以了。但是想深入了解 MFC,還是很難的。
如果側重快速開發應用,那就 MFC 吧。如果想深入了解 windows 的機制,還是 windows 窗口程序。
⑩ 編寫VS2010中的VC++下面的windows窗體應用程序,需要看些什麼資料
我又來了。。。 你是指VS2010中VC++的Windows窗體應用程序嗎? 如果是,那: 在void InitializeComponent(void)函數中添加如專下語句(或者直接在窗體事件屬里選Paint事件): this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, ...