本文目錄一覽:
C語言裏面如何設置窗體大小?
1、在Window下可以使用
system(“mode
con
cols=30
lines=20″)
命令設置窗體大小。
如果需要動態設置大小,可以寫成如下形式:
char
stCmd[128];
sprintf(“mode
con
cols=%d
lines=%d”,
height,
width);
system(stCmd);
2、system函數:
原型:int
system(const
char
*
command);
功能:執行
dos(windows系統)
或
shell(Linux/Unix系統)
命令,參數字符串command為命令名;
說明:在windows系統中,system函數直接在控制台調用一個command命令。在Linux/Unix系統中,system函數會調用fork函數產生子進程,由子進程來執行command命令,命令執行完後隨即返回原調用的進程;
頭文件:stdlib.h;
返回值:命令執行成功返回0,執行失敗返回-1。
C語言中,如何在窗體之間互相調用事件?
Form程序的話,最好是把你的邏輯,操作都做成獨立的方法,根據需求設定訪問權限。
而事件里,僅僅就是調用這些方法而已。
當別的窗體需要使用對應的邏輯時只要寫。
Form1 f1=new Form1();
f1.Show();
f1.xxxx();//你的方法。
Form2 form2=new Form2();
form2.Owner=this;
form2.Show();
Form2 裏面獲取如下
Form1 form1=(Form1)this.Owner;
int i=form1.dataGridView.Rows.Count;//這句就是訪問form1的dataGridview1
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
儘管C語言提供了許多低級處理的功能,但仍然保持着良好跨平台的特性,以一個標準規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
C語言程序的窗體
可以是可以,但是如果光用C語言的特性來編寫Windows窗口程序太費勁,C不適合寫窗口程序。給你如下代碼,可以在VC中編譯成功。
/*————————————————————
HELLOWIN.C — Displays “Hello, Windows 98!” in client area
(c) Charles Petzold, 1998
————————————————————*/
#include windows.h
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT (“HelloWin”) ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (wndclass))
{
MessageBox (NULL, TEXT (“This program requires Windows NT!”),
szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow (szAppName, // window class name
TEXT (“The Hello Program”), // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; // creation parameters
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (msg, NULL, 0, 0))
{
TranslateMessage (msg) ;
DispatchMessage (msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
switch (message)
{
case WM_CREATE:
PlaySound (TEXT (“hellowin.wav”), NULL, SND_FILENAME | SND_ASYNC) ;
return 0 ;
case WM_PAINT:
hdc = BeginPaint (hwnd, ps) ;
GetClientRect (hwnd, rect) ;
DrawText (hdc, TEXT (“Hello, Windows 98!”), -1, rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
EndPaint (hwnd, ps) ;
return 0 ;
case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
##########################################
這只是在窗口中間顯示hello,windows98而已,但是代碼卻這麼長,估計你也看不懂。不管是窗體,還是所有功能事件完全得自己寫,太麻煩。研究windows程序運行原理,倒可以學學也無妨。所有windows程序最後編譯後都成為這種形式,但是因為寫代碼的時候完全被面向對象包裝了起來,所以都不知道windows程序原來是這麼啟動的。
怎麼用c語言寫窗體程序
步驟:
1、註冊窗口類;
2、創建窗體;
3、消息循環;
4、編寫窗口消息處理函數。
代碼:
#include windows.h
#includetchar.h
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR szCmdLine, int nCmdShow)
{
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;//(HBRUSH)GetStockObject();
wc.lpszMenuName = NULL;
wc.lpszClassName = _T(“MyWindowClass”);
if (!RegisterClass(wc))
{
MessageBox (NULL, _T(“無法註冊窗口類”), _T(“錯誤”), MB_OK);
return 0 ;
}
HWND newWindow = CreateWindow(
_T(“MyWindowClass”),
_T(“我的第一個winapi程序”),
WS_OVERLAPPEDWINDOW,
0,
0,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if (NULL == newWindow)
{
MessageBox (NULL, _T(“無法創建窗體”), _T(“錯誤”), MB_OK);
return 0;
}
ShowWindow(newWindow, nCmdShow);
UpdateWindow(newWindow);
MSG msg;
while(GetMessage(msg, NULL, 0, 0))
{
TranslateMessage(msg);
DispatchMessage(msg);
}
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_DESTROY:
{
PostQuitMessage(0);
break;
}
default :
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
return 0;
}
就是一個只有標題欄、關閉按鈕、最小化按鈕、最大化/還原按鈕、顯示區域的窗體。
在c語言中如何創建一個窗體
這個呀~~~~~~~可以使用一些圖形圖像用的LIB,.h,也就是用OpenGL或者是DirectX自己畫……不過估計不會有人這麼干。
一般可以用VC++的MFC類庫,那個甚至有嚮導使你不用自己寫一句代碼就生成一個窗體。然後具體加入什麼功能就看你自己了。
原創文章,作者:DACJ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137121.html