我想用  api做个界面  是不是要用到建个资源文件 画上一画    但然后怎样呢  比如要建个对话框  
对话框上有几个按钮   和标签   图片显示什么的    
哪位大侠  稍微指点一下   好乱  

解决方案 »

  1.   

    对了  我用的  vs2010    还有那个  activex 控件什么的  也要用吗
      

  2.   

    为何非要用API呢?建一个对话框程序不是很方便么?
      

  3.   


    先建个资源文件,然后在资源文件中增加一个对话框,增加按钮,图片什么的(即你说的画一画),然后为这个对话框写它的处理函数。
    再在main函数中调用DialogBoxParam函数。
    例如:
    DialogBoxParam(GetModuleHandle(0),  MAKEINTRESOURCE(IDD_DLG_SAMPLE), NULL, (DLGPROC)SdkDialogProc, (LPARAM)NULL);
    IDD_DLG_SAMPLE: 是对话框ID
    SdkDialogProc:是对话框处理函数。你可以先填个NULL,感受一下API做出来的对话框。再完善这个函数。
    下面的对话框处理函数只完成了最基本的几个命令,再要详细的功能就得根据你自己的需要添加了。
    DWORD CALLBACK SdkDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    switch (uMsg)
        {
    case WM_INITDIALOG:
    break;

        case WM_COMMAND:
            if (LOWORD(wParam) == IDOK)
    EndDialog( hwndDlg, 0 );        if (LOWORD(wParam) == IDCANCEL) 
    EndDialog( hwndDlg, 0 );

        } return 0;
    }
      

  4.   

    用画图工具加上按钮等.然后用classwizard把该对话框与一个新类相关联.然后在程序中调用该类的domodal()显示它.
      

  5.   

    #include <Windows.h>
    #include "resource.h"                        LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR     lpCmdLine,
    int       nCmdShow)
    {
    return DialogBox(hInstance, (LPCTSTR)IDD_DIALOGBAR, 0, (DLGPROC)WndProc);
    }LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    while(1);
    return 0;
    }
    现在困扰我的是  调试程序一闪而过
      

  6.   

    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    while(1);
    return 0;
    }
    中应写是处理消息,while(1);是死循环!
    看不到窗口的
      

  7.   

    #include <Windows.h>#include "resource.h"                        BOOL        CALLBACK  AboutDlgProc (HWND hDlg, UINT message,WPARAM wParam, LPARAM lParam) ;
    int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR     lpCmdLine,
    int       nCmdShow)
    {

      return DialogBox (hInstance, TEXT ("AboutBox"), NULL,  (DLGPROC)AboutDlgProc) ;}BOOL        CALLBACK  AboutDlgProc (HWND hDlg, UINT message,WPARAM wParam, LPARAM lParam){ switch (message) { case   WM_INITDIALOG : return TRUE ; case   WM_COMMAND : switch (LOWORD (wParam)) { case   IDOK : case   IDCANCEL : //EndDialog (hDlg, 0) ; return TRUE ; } break ; } return FALSE ;}
    还是一闪而过     大虾们快来救命