當前位置:首頁 » 編程語言 » c語言寫漂亮的windows
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言寫漂亮的windows

發布時間: 2022-04-14 02:26:13

① 怎樣用c語言編寫windows可視化程序

翻一下《Windows程序設計》。用C語言調用windows 底層點的代碼 可以做出來的 就像調用函數一樣

② 求用c語言編寫windows窗口的代碼程序。謝謝!

以下程序在C++BUILDER中測試通過。
//---------------------------------------------------------------------------
#include
<windows.h>
#include
<stdio.h>
LRESULT
CALLBACK
WndProc(HWND,UINT,WPARAM,LPARAM);
WINAPI
WinMain(HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,
LPSTR
lpCmdLine,
int
nCmdShow)
{
static
TCHAR
szAppName[]=TEXT("HWCPcn");
static
TCHAR
szClassName[]=TEXT("HWICPcn");
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
=szClassName;
if
(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("wiki.cprogram.cn"),szAppName,MB_ICONINFORMATION);
return
0;
}
hwnd=CreateWindow(szClassName,TEXT("THE
C
PROGRAM"),
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,nCmdShow);
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_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("www.CPROGRAM.CN"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return
0;
case
WM_CREATE:
MessageBox(NULL,"Hello","Cprogram.cn",MB_OK);
return
0;
case
WM_DESTROY:
PostQuitMessage(0);
return
0;
}
return
DefWindowProc(hwnd,message,wParam,lParam);
}
//---------------------------------------------------------------------------

③ C語言寫windows程序

winmain就是c里的main函數,一個東西。至於說需不需要自己寫函數,看你需要的功能需不需要系統服務,需要的話,調用api,不需要的話,自己寫代碼實現就行了,推薦你試試mfc,很好用,很強大。

④ 怎麼用C語言編寫一個windows窗口

  1. 調用window庫窗口函數即可創建windows窗口。

  2. 必須使用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>
    LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam);
    intWinMain(
    __inHINSTANCEhInstance,
    __in_optHINSTANCEhPrevInstance,
    __inLPSTRlpCmdLine,
    __inintnShowCmd
    )
    {
    TCHAR*szName=_T("myWindow");
    WNDCLASSEXwc={0};
    HWNDhWnd=NULL;
    MSGMsg={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'sanError"),_T("ErrorTitle"),MB_ICONEXCLAMATION|MB_OK);
    return0;
    }
    ShowWindow(hWnd,nShowCmd);//顯示窗口
    UpdateWindow(hWnd);
    //下面是對消息的循環處理,大家先不必管這些,下節課我會細說的
    while(GetMessage(&Msg,NULL,0,0))
    {
    TranslateMessage(&Msg);//翻譯消息
    DispatchMessage(&Msg);//分派消息
    }
    returnMsg.message;
    }
    //消息處理函數
    LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam)
    {
    switch(Msg)//處理消息過程
    {
    caseWM_DESTROY://響應滑鼠單擊關閉按鈕事件
    PostQuitMessage(0);//退出消息隊列
    return0;//退出函數
    }
    returnDefWindowProc(hWnd,Msg,wParam,lParam);
    }

⑤ 用c語言能不能編寫出WINDOWS界面來

可以,調用sdk就行,給你下面代碼你去試試:
#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_PAINT:
hdc = BeginPaint (hwnd, &ps) ;

GetClientRect (hwnd, &rect) ;

DrawText (hdc, TEXT ("Hello, Windows !"), -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) ;
}

⑥ 用C語言編寫設計一個Windows應用程序窗口界面。

您好!

小弟建議您用 Visual C# 2008 軟體
這不是問題,這是標准模塊

屬於秒殺問題 根本不需要任何演演算法(內建)!

⑦ 怎樣用C語言編寫WINDOWS應用程序

純粹的c語言開發windows下的應用程序,建議您參閱《windows
程序開發》是老外寫的,翻譯過來的。

上下兩冊,上冊厚,下冊薄。

裡面詳細的講解了用c語言開發windows程序涉及的知識。

⑧ C語言編寫windows程序

首先申明,本人不是什麼高手,但自認為對c還比較熟悉,可以給你提點建議: 1、學習C語言,要從入門到精通,需要讀哪些書(從簡單的到難的排序,越詳細越好,最好都能注釋下選擇這本書的理由)? 入門階段:還是老譚那本。 理由:雖然不能說它寫得有多好,但是你現在要做的是入門,要快速的掌握c的基本語法,這本書很好理解,能夠讓你在最短的時間內大致掌握這門語言的概更。 第二階段:《c程序設計語言》(The C Programming Language)和《C語言解惑》(The C puzzle book) 理由:《the c programming language》號稱c語言聖經。其實它也只是一本介紹基礎語法的書,不做入門教程是因為對於初學者來說,它難度稍大,之所以推薦,是因為它能讓你---系統而嚴密的---把C語言知識構架整理一遍。《c語言解惑》,系統的整理了c語法中容易讓你產生迷惑或容易犯錯的地方(如a+++++b等),這時候你才算真正開始學習c語言了.(以上兩本現在出重印了,應該在書店可以買到) 第三階段:《C陷阱與缺陷》(C Traps and Pitfalls)和《高質量c/c++編程指南》 理由:《c陷阱與缺陷》是讓對c的理解有質變得一本書,如如何理解(*(void(*)())0)()等問題,我的感覺是看完這本書讓我真正從小菜鳥變成了老菜鳥。《高質量...》,終於有一本國產的了,呵呵,我認為這本書是把你從土匪變成正規軍的最好指南,該書涉及編程風格、效率、重載、健壯性等一些列之前很難注意的問題。(以上兩本《c陷阱...》已絕版,不過網上可以下載到中英文版,《高質量...》本身就是網路書,很容易找到) 其它推薦書:《c專家編程》《c和指針》 說實話這兩本書我並沒有看過(或看完),但有口皆碑,都是經典之作,不過都已經絕版,仔細找找網上有下載的。 2、有哪些好的C語言練習(越難的越好)? 對語言本身的練習其實就是你對它的理解,用得多了,注意得多了,自然就ok了。其它思維上的練習主要是演算法和數據結構方面的,嚴老的《數據結構題集(C語言版)》如果你能做完就相當了不起了。 3、要學精C語言,還要具備哪些條件? 其實c語言也只是一個工具而已,就像鋤頭一樣,你每天挖地鋤田自然就精通它了。只要不是白痴,應該都沒有問題。 4、C語言學完後接下去要學哪些語言好? 這個我就沒有資格回答了,因為除了少量匯編和c++,我大部分只用到了c,不過也許是一脈相承的c++吧。c是面向過程的語言,學習c++面向對象的思想。 5、各位網友如果在學習計算機語言方面還有一些獨到的見解,歡迎提出! 不是我提出的,不過真的很經典——「天下程序一大抄」,呵呵。 查看原帖>>

⑨ 如何給C語言寫出來的軟體做漂亮的操作頁面,而不是只在一個黑框里操作

呵呵,曾經我也是比較困惑的。我是在學了C,C++,直到Delphi之後,發現VC++這個平台就可以實現你要的東西!這方面的資源非常豐富,書也很多,相信你會找到你想要的~ 祝好!呵呵

⑩ C語言怎樣開發windows的圖形界面程序

可以使可以,但勸你放棄,因為根本沒人用C開發windows圖形界面的APP。。。。自己玩玩到是可以,想做圖形界面,C++,C#,JAVA都可以,還有曾經很火的delphi。。。如果C都拿來開發APP,那你覺得為啥還要發明,C++,C#這些東西呢???
C其實用寫個簡單的圖形界面的應用程序,也不復雜,畢竟常見的圖形組件,windows都已經替你實現,還有很多控制項可以用(這個其實很復雜的,在其他編程語言中都把他封裝了,你用起來很簡單,但用C相當累的一件事,你起碼先知道啥叫com技術吧,因為C沒有任何框架,沒人去為C做一套windows編程框架(C不是面向對象語言,這么做毫無意義,只會讓代碼寫起來很復雜))。。。
不過用C做些簡單的圖形界面沒問題,找本windows方面的書,甚至微軟的MSDN幫助都可以找到API的用法。。。