導航:首頁 > 編程語言 > vc窗體應用程序

vc窗體應用程序

發布時間:2021-03-08 06:42:38

① 如何用C語言開發窗體應用程序。。

  1. 生產窗體可以使用函數。
    函數功能:該函數創建一個具有擴展風格的層疊式窗口、彈出式窗口或子窗口,其他與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 //指向窗口的創建數據
    );

  2. 常式:

    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, ...

閱讀全文

與vc窗體應用程序相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接