本文目錄一覽:
小弟是C語言新手,有個問題,就是當程序運行時窗口的大小怎麼調整?
窗口欄上右鍵,點擊屬性,如上圖修改窗口大小,就可以了。(包括字體、顏色都可以在裡面修改),祝你愉快!
怎麼用C語言編寫一個windows窗口?
調用window庫窗口函數即可創建windows窗口。
必須使用windows的編譯器,如VC,MS等等。
RegisterClassEx函數:
該函數註冊在隨後調用CreateWindow函數和CreateWindowEx函數中使用的窗口類。 RegisterClass函數己經由函數RegisterClassEx函數來代替,但是,如果不需要設置類的小目標則仍然可以使用RegisterClass函數。
CreateWindowEx函數:
該函數創建一個具有擴展風格的層疊式窗口、彈出式窗口或子窗口,其他與CreateWindow函數相同。關於創建窗口和其他參數的內容,請參看CreateWindow。具體仍可見微軟的msdn。
消息處理函數WindowProc:
該函數是一個應用程序定義的函數。它處理髮送給窗口的消息。WINDPROC類型定義了一個指向該回調函數的指針。WindowProc是用於應用程序定義函數的佔位符。
函數原型:
LRESULT CALLBACK WindowProc (HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
參數:
hwnd:指向窗口的句柄。
uMsg:指定消息類型。
wParam:指定其餘的、消息特定的信息。該參數的內容與UMsg參數值有關。
IParam:指定其餘的、消息特定的信息。該參數的內容與uMsg參數值有關。
返回值:返回值就是消息處理結果,它與發送的消息有關。
一個簡單的Window的代碼如下:
#include Windows.h
#include tchar.h
LRESULT WINAPI WinProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
int WinMain(
__in HINSTANCE hInstance,
__in_opt HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nShowCmd
)
{
TCHAR *szName = _T(“myWindow”);
WNDCLASSEX wc = {0};
HWND hWnd = NULL;
MSG Msg = {0};
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.cbSize = sizeof(WNDCLASSEX);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//通過函數來設置一個白色的背景,這裡大家設置為NULL看看,會很有趣的
wc.hCursor = NULL;//不設置
wc.hIcon = NULL;//不設置
wc.hIconSm = NULL;//不設置
wc.hInstance = hInstance;//當前程序的句柄,hInstance是有系統給傳遞的
wc.lpfnWndProc = WinProc;//窗口處理過程的回調函數。
wc.lpszClassName = szName;//窗口類的名字。
wc.lpszMenuName = NULL;
wc.style = CS_HREDRAW | CS_VREDRAW;
RegisterClassEx(wc);//在系統中註冊
hWnd = CreateWindowEx(WS_EX_CLIENTEDGE,szName,_T(“我的窗口我喜歡”),WS_OVERLAPPEDWINDOW,
200,100,600,400,NULL,NULL,hInstance,NULL);//創建窗口,窗口標題為”我的窗口我喜歡”
if(hWnd == NULL)
{
MessageBox(NULL,_T(“There’s an Error”),_T(“Error Title”),MB_ICONEXCLAMATION|MB_OK);
return 0;
}
ShowWindow(hWnd,nShowCmd);//顯示窗口
UpdateWindow(hWnd);
//下面是對消息的循環處理,大家先不必管這些,下節課我會細說的
while(GetMessage(Msg,NULL,0,0))
{
TranslateMessage(Msg);//翻譯消息
DispatchMessage(Msg);//分派消息
}
return Msg.message;
}
//消息處理函數
LRESULT WINAPI WinProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
switch(Msg)//處理消息過程
{
case WM_DESTROY://響應滑鼠單擊關閉按鈕事件
PostQuitMessage(0);//退出消息隊列
return 0;//退出函數
}
return DefWindowProc(hWnd,Msg,wParam,lParam);
}
用C語言獲取窗口標題
使用Windows API:
int GetWindowText( HWND hWnd, LPTSTR lpString, int nMaxCount );
例如:窗口句柄為 hWnd;
則可以這麼用:
char szTitle[100];
GetWindowText(hWnd, szTitle, 100);
這樣,szTitle中就是窗口hWnd的標題了
c語言如何設置窗口
請問是dos下的窗口還是windows下的窗口
如果是dos窗口可以使用window()函數
函數名:
window
功
能:
定義活動文本模式窗口
用
法:
void
window(int
left,
int
top,
int
right,
int
bottom);
程序例:
#include
int
main(void)
{
window(10,10,40,11);
textcolor(black);
textbackground(white);
cprintf(“this
is
a
test\r\n”);
return
0;
}
函數中形式參數(int
left,int
top)是窗口左上角的坐標,(int
right,int
bottom)是窗口的
右下角坐標,其中(left,top)和(right,bottom)是相對於整個屏幕而言的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/289344.html