不使用资源的对话框

原创 2007年10月14日 22:28:00
void * Align(void * p)  //Align by DWORD(4)
{
    DWORD   dwVal;
    dwVal 
= (DWORD)p;
    dwVal 
+= 3;
    dwVal 
>>= 2;
    dwVal 
<<= 2;
    
return  (void *)dwVal;
}


#define INPUT_ID_EDT1    0x1001
#define INPUT_ID_BTN1    IDOK
#define INPUT_ID_BTN2    IDCANCEL

//    lParam -> 0:
BOOL CALLBACK InputProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    
static DWORD *p;
    
if (uMsg == WM_INITDIALOG)
    
{
        p 
= (DWORD *)lParam;
        ::SendMessage(::GetDlgItem(hwndDlg, INPUT_ID_EDT1), WM_SETFONT, (LPARAM)p[
4], MAKELPARAM(TRUE, 0));
        ::SendMessage(::GetDlgItem(hwndDlg, INPUT_ID_BTN1), WM_SETFONT, (LPARAM)p[
4], MAKELPARAM(TRUE, 0));
        ::SendMessage(::GetDlgItem(hwndDlg, INPUT_ID_BTN2), WM_SETFONT, (LPARAM)p[
4], MAKELPARAM(TRUE, 0));
        ::SetDlgItemText(hwndDlg, INPUT_ID_EDT1, (TCHAR 
*)p[0]);
        
return TRUE;   
    }

    
else if(uMsg == WM_COMMAND)
    
{
        
if(LOWORD(wParam) == IDOK)
        
{
            ::GetDlgItemText(hwndDlg, INPUT_ID_EDT1, (TCHAR 
*)p[1], p[2]);
            EndDialog (hwndDlg, IDOK);
            
return TRUE;
        }

        
if(LOWORD(wParam) == IDCANCEL)
        
{
            EndDialog (hwndDlg, IDCANCEL);
            
return TRUE;
        }

    }
   
    
else if ((uMsg == WM_SYSCOMMAND) && (wParam == SC_CLOSE)) 
    
{     
        EndDialog (hwndDlg, IDCANCEL);
        
return TRUE;
    }

    
return FALSE;
}


int GetInput(HWND hWnd, TCHAR *pCapt, TCHAR * pText, TCHAR * pOutBuf, DWORD dwBufSize)
{
    HFONT    hFont;
    LOGFONT    LogFont;
    WORD    
*p, *pdlgtemplate;
    
int     nchar;
    
int     nButW = 40, nButH = 12, nDis = 6;
    
int        nWidth = 120, nHeigh = 41;
    DWORD   lStyle 
= 0, lExStyle = 0;
    DWORD   dwMem[
5];
    DWORD    dwEdtStyle 
= WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | ES_LEFT | ES_AUTOHSCROLL;
    DWORD    dwEdtExStyle 
= WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_NOPARENTNOTIFY | WS_EX_CLIENTEDGE;
    DWORD    dwButStyle 
= WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | BS_TEXT;
    hFont 
= (HFONT)::SendMessage(hWnd, WM_GETFONT, 00);
    GetObject(hFont, 
sizeof(LogFont), &LogFont);
    
//    LogFont.lfWeight ++;
    hFont = CreateFontIndirect(&LogFont);
    dwMem[
0= (DWORD)pText;
    dwMem[
1= (DWORD)pOutBuf;
    dwMem[
2= dwBufSize;
    dwMem[
3= (DWORD)hWnd;
    dwMem[
4= (DWORD)hFont;
    pdlgtemplate 
= p = (PWORD) LocalAlloc (LPTR, 1000);
    
///////////////////////   Init for DLGTEMPLATEEX     /////////////////////////////////
    lStyle = DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE;
    
*p++ = LOWORD (lStyle);             //style
    *p++ = HIWORD (lStyle);             //style
    *p++ = 0;                           // LOWORD (dwExtendedStyle)
    *p++ = 0;                           // HIWORD (dwExtendedStyle)
    *p++ = 3;                           // NumberOfItems
    *p++ = 0;                           // x
    *p++ = 0;                           // y
    *p++ = nWidth;                      // cx
    *p++ = nHeigh;                      // cy
    *p++ = 0;                           // Menu resource Name
    *p++ = 0;                           // Class Name
    TcharTowChar(pCapt, (PWSTR)p);      // title
    nchar = (int)wcslen((LPWSTR)p) + 1;
    p 
+= nchar;                         // title
    p = (WORD *)Align(p);               // Align DWORD boundary 
    ///////////////////////   Init for DLGITEMTEMPLATEEX  Edit  ////////////////////////
    *p++ = LOWORD (dwEdtStyle);         //style
    *p++ = HIWORD (dwEdtStyle);            //style
    *p++ = LOWORD (dwEdtExStyle);       // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (dwEdtExStyle);       // HIWORD (dwExtendedStyle) 
    *p++ = nDis;                        // x
    *p++ = nDis;                        // y
    *p++ = nWidth - 2*nDis;             // cx
    *p++ = nHeigh - 3*nDis - nButH;     // cy
    *p++ = INPUT_ID_EDT1;               // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Ary
    *p++ = (WORD)0x0081;                //0x0080 Edit 
    nchar = ctowc(("OK"), (PWSTR)p);    //title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               // Align DWORD boundary 
    ///////////////////////   DLGITEMTEMPLATEEX OK Button   ///////////////////////////
    *p++ = LOWORD (dwButStyle);             //style
    *p++ = HIWORD (dwButStyle);             //style
    *p++ = LOWORD (lExStyle);           // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (lExStyle);           // HIWORD (dwExtendedStyle)
    *p++ = nDis;                        // x
    *p++ = nHeigh - 1*nDis - nButH;     // y
    *p++ = nButW;                       // cx
    *p++ = nButH;                       // cy
    *p++ = IDOK;                        // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Arry
    *p++ = (WORD)0x0080;                //0x0080 Button 
    nchar = ctowc(("OK"), (PWSTR)p);    //title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               //Align DWORD boundary 
    ///////////////////////   Init for DLGITEMTEMPLATEEX  Cancel  Button  //////////////
    *p++ = LOWORD (dwButStyle);             //style
    *p++ = HIWORD (dwButStyle);             //style
    *p++ = LOWORD (lExStyle);           // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (lExStyle);           // HIWORD (dwExtendedStyle)
    *p++ = nWidth - 1*nDis - nButW;     // x
    *p++ = nHeigh - 1*nDis - nButH;     // y
    *p++ = nButW;                       // cx
    *p++ = nButH;                       // cy
    *p++ = IDCANCEL;                    // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Arry
    *p++ = (WORD)0x0080;                //0x0080 Button 
    nchar = ctowc(("Cancel"), (PWSTR)p);//title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               //Align DWORD boundary
    int nRet = (int)DialogBoxIndirectParam((HINSTANCE)::GetWindowLong(hWnd, GWL_HINSTANCE), 
        (LPDLGTEMPLATE)pdlgtemplate, hWnd, (DLGPROC) InputProc, (LPARAM)dwMem);
    DeleteObject(hFont);
    LocalFree (LocalHandle (pdlgtemplate));
    
return nRet;
}


int GetInputs(HWND hWnd, TCHAR *pCapt, TCHAR * pText, TCHAR * pOutBuf, DWORD dwBufSize, int nWidth, int nHeigh)
{
    HFONT    hFont;
    LOGFONT    LogFont;
    WORD    
*p, *pdlgtemplate;
    
int     nchar;
    
int     nButW = 40, nButH = 12, nDis = 6;
    DWORD   lStyle 
= 0, lExStyle = 0;
    DWORD   dwMem[
5];
    DWORD    dwEdtStyle 
= WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | ES_LEFT | ES_AUTOHSCROLL | ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL;
    DWORD    dwEdtExStyle 
= WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_NOPARENTNOTIFY | WS_EX_CLIENTEDGE;
    DWORD    dwButStyle 
= WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | BS_TEXT;
    hFont 
= (HFONT)::SendMessage(hWnd, WM_GETFONT, 00);
    GetObject(hFont, 
sizeof(LogFont), &LogFont);
//    LogFont.lfWeight ++;
    hFont = CreateFontIndirect(&LogFont);
    dwMem[
0= (DWORD)pText;
    dwMem[
1= (DWORD)pOutBuf;
    dwMem[
2= dwBufSize;
    dwMem[
3= (DWORD)hWnd;
    dwMem[
4= (DWORD)hFont;

    pdlgtemplate 
= p = (PWORD) LocalAlloc (LPTR, 1000);
    
///////////////////////   Init for DLGTEMPLATEEX     /////////////////////////////////
    lStyle = DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE;
    
*p++ = LOWORD (lStyle);             //style
    *p++ = HIWORD (lStyle);             //style
    *p++ = 0;                           // LOWORD (dwExtendedStyle)
    *p++ = 0;                           // HIWORD (dwExtendedStyle)
    *p++ = 3;                           // NumberOfItems
    *p++ = 0;                           // x
    *p++ = 0;                           // y
    *p++ = nWidth;                      // cx
    *p++ = nHeigh;                      // cy
    *p++ = 0;                           // Menu resource Name
    *p++ = 0;                           // Class Name
    TcharTowChar(pCapt, (PWSTR)p);      // title
    nchar = (int)wcslen((LPWSTR)p) + 1;
    p 
+= nchar;                         // title
    p = (WORD *)Align(p);               // Align DWORD boundary 
    ///////////////////////   Init for DLGITEMTEMPLATEEX  Edit  ////////////////////////
    *p++ = LOWORD (dwEdtStyle);         //style
    *p++ = HIWORD (dwEdtStyle);         //style
    *p++ = LOWORD (dwEdtExStyle);       // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (dwEdtExStyle);       // HIWORD (dwExtendedStyle) 
    *p++ = nDis;                        // x
    *p++ = nDis;                        // y
    *p++ = nWidth - 2*nDis;             // cx
    *p++ = nHeigh - 3*nDis - nButH;     // cy
    *p++ = INPUT_ID_EDT1;               // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Ary
    *p++ = (WORD)0x0081;                //0x0080 Edit 
    nchar = ctowc(("OK"), (PWSTR)p);    //title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               // Align DWORD boundary 
    ///////////////////////   DLGITEMTEMPLATEEX OK Button   ///////////////////////////
    *p++ = LOWORD (dwButStyle);         //style
    *p++ = HIWORD (dwButStyle);         //style
    *p++ = LOWORD (lExStyle);           // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (lExStyle);           // HIWORD (dwExtendedStyle)
    *p++ = nDis;                        // x
    *p++ = nHeigh - 1*nDis - nButH;     // y
    *p++ = nButW;                       // cx
    *p++ = nButH;                       // cy
    *p++ = IDOK;                        // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Arry
    *p++ = (WORD)0x0080;                //0x0080 Button 
    nchar = ctowc(("OK"), (PWSTR)p);    //title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               //Align DWORD boundary 
    ///////////////////////   Init for DLGITEMTEMPLATEEX  Cancel  Button  //////////////
    *p++ = LOWORD (dwButStyle);         //style
    *p++ = HIWORD (dwButStyle);         //style
    *p++ = LOWORD (lExStyle);           // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (lExStyle);           // HIWORD (dwExtendedStyle)
    *p++ = nWidth - 1*nDis - nButW;     // x
    *p++ = nHeigh - 1*nDis - nButH;     // y
    *p++ = nButW;                       // cx
    *p++ = nButH;                       // cy
    *p++ = IDCANCEL;                    // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Arry
    *p++ = (WORD)0x0080;                //0x0080 Button 
    nchar = ctowc(("Cancel"), (PWSTR)p);//title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               //Align DWORD boundary
    int nRet = (int)DialogBoxIndirectParam((HINSTANCE)::GetWindowLong(hWnd, GWL_HINSTANCE), 
        (LPDLGTEMPLATE)pdlgtemplate, hWnd, (DLGPROC) InputProc, (LPARAM)dwMem);
    DeleteObject(hFont);
    LocalFree (LocalHandle (pdlgtemplate));
    
return nRet;
}

#undef  INPUT_ID_EDT1
#undef    INPUT_ID_BTN1
#undef    INPUT_ID_BTN2

#define INPUT_ID_RADIO    0x1001
#define INPUT_ID_BTN1    IDOK
#define INPUT_ID_BTN2    IDCANCEL

//    lParam -> 0:
BOOL CALLBACK SelectProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    
static DWORD *p;
    DWORD        i;
    
if (uMsg == WM_INITDIALOG)
    
{
        p 
= (DWORD *)lParam;
        ::SendMessage(::GetDlgItem(hwndDlg, INPUT_ID_BTN1), WM_SETFONT, (LPARAM)p[
4], MAKELPARAM(TRUE, 0));
        ::SendMessage(::GetDlgItem(hwndDlg, INPUT_ID_BTN2), WM_SETFONT, (LPARAM)p[
4], MAKELPARAM(TRUE, 0));

        
for(i=0; i<p[1]; i++)
            ::SendMessage(::GetDlgItem(hwndDlg, INPUT_ID_RADIO
+i), WM_SETFONT, (LPARAM)p[4], MAKELPARAM(TRUE, 0));
        CheckRadioButton(hwndDlg, INPUT_ID_RADIO, INPUT_ID_RADIO
+p[1]-1, INPUT_ID_RADIO);

        
return TRUE;   
    }

    
else if(uMsg == WM_COMMAND)
    
{
        
if(LOWORD(wParam) == IDOK)
        
{
            
for(i=0; i<p[1]; i++)
            
{
                
if(IsDlgButtonChecked(hwndDlg, INPUT_ID_RADIO+i))
                
{
                    EndDialog (hwndDlg, i);
                    
return TRUE;
                }

            }

            EndDialog (hwndDlg, 
-1);
            
return TRUE;
        }

        
if(LOWORD(wParam) == IDCANCEL)
        
{
            EndDialog (hwndDlg, 
-1);
            
return TRUE;
        }

    }
   
    
else if ((uMsg == WM_SYSCOMMAND) && (wParam == SC_CLOSE)) 
    
{     
        EndDialog (hwndDlg, 
-1);
        
return TRUE;
    }

    
return FALSE;
}


//NotifyText[nCount][nSize]        Ret: -1 -> Cancel 0-X:Index
int GetSelect(HWND hWnd, TCHAR * pCapt, TCHAR *pNotifyText, int nCount, int nSize)
{
    _bstr_t    bStrTmp;
    HFONT    hFont;
    LOGFONT    LogFont;
    WORD    
*p, *pdlgtemplate;
    
int     nchar, i;
    
int     nButW = 40, nButH = 12, nDis = 6;
    
int        nWidth = 120, nHeigh = 41;
    DWORD   lStyle 
= 0, lExStyle = 0;
    DWORD   dwMem[
5];
    DWORD    dwRdoStyle 
= WS_CHILDWINDOW | WS_VISIBLE | BS_AUTORADIOBUTTON | WS_TABSTOP;
    DWORD    dwRdoExStyle 
= WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_NOPARENTNOTIFY;
    DWORD    dwButStyle 
= WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | BS_TEXT;
    hFont 
= (HFONT)::SendMessage(hWnd, WM_GETFONT, 00);
    GetObject(hFont, 
sizeof(LogFont), &LogFont);
    
//    LogFont.lfWeight ++;
    hFont = CreateFontIndirect(&LogFont);
    dwMem[
0= (DWORD)pNotifyText;
    dwMem[
1= (DWORD)nCount;
    dwMem[
2= 1024;
    dwMem[
3= (DWORD)hWnd;
    dwMem[
4= (DWORD)hFont;

    nHeigh 
+= (nCount-1* (nButH + nDis/3);

    pdlgtemplate 
= p = (PWORD) LocalAlloc (LPTR, 1000);
    
///////////////////////   Init for DLGTEMPLATEEX     /////////////////////////////////
    lStyle = DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE;
    
*p++ = LOWORD (lStyle);             //style
    *p++ = HIWORD (lStyle);             //style
    *p++ = 0;                           // LOWORD (dwExtendedStyle)
    *p++ = 0;                           // HIWORD (dwExtendedStyle)
    *p++ = nCount+2;                           // NumberOfItems
    *p++ = 0;                           // x
    *p++ = 0;                           // y
    *p++ = nWidth;                      // cx
    *p++ = nHeigh;                      // cy
    *p++ = 0;                           // Menu resource Name
    *p++ = 0;                           // Class Name
    bStrTmp = pCapt;
    wcscpy((wchar_t 
*)p, bStrTmp);      // title
    p += bStrTmp.length()+1;            // title
    p = (WORD *)Align(p);               // Align DWORD boundary 

    
///////////////////////   Init for DLGITEMTEMPLATEEX  Radio  ////////////////////////
    *p++ = LOWORD (dwRdoStyle | WS_GROUP);         //style
    *p++ = HIWORD (dwRdoStyle | WS_GROUP);            //style
    *p++ = LOWORD (dwRdoExStyle);       // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (dwRdoExStyle);       // HIWORD (dwExtendedStyle) 
    *p++ = nDis;                        // x
    *p++ = nDis;                        // y
    *p++ = nWidth - 2*nDis;             // cx
    *p++ = nButH;                        // cy
    *p++ = INPUT_ID_RADIO;               // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Ary
    *p++ = (WORD)0x0080;                //0x0080 Radio(Button) 
    bStrTmp = pNotifyText;
    wcscpy((wchar_t 
*)p, bStrTmp);      //title
    p += bStrTmp.length()+1;            //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               // Align DWORD boundary 

    
for(i=1; i<nCount; i++)
    
{
        
*p++ = LOWORD (dwRdoStyle);         //style
        *p++ = HIWORD (dwRdoStyle);            //style
        *p++ = LOWORD (dwRdoExStyle);       // LOWORD (dwExtendedStyle)
        *p++ = HIWORD (dwRdoExStyle);       // HIWORD (dwExtendedStyle) 
        *p++ = nDis;                        // x
        *p++ = nDis + i*(nButH + nDis/3);   // y
        *p++ = nWidth - 2*nDis;             // cx
        *p++ = nButH;                        // cy
        *p++ = INPUT_ID_RADIO + i;          // ID
        *p++ = (WORD)0xffff;                //Class Name Or Class Ary
        *p++ = (WORD)0x0080;                //0x0080 Radio(Button) 
        bStrTmp = pNotifyText+i*nSize;
        wcscpy((wchar_t 
*)p, bStrTmp);      //title
        p += bStrTmp.length()+1;            //title
        *p++ = 0;                           //extraCount
        p = (WORD *)Align(p);               // Align DWORD boundary 
    }


    
///////////////////////   DLGITEMTEMPLATEEX OK Button   ///////////////////////////
    *p++ = LOWORD (dwButStyle);         //style
    *p++ = HIWORD (dwButStyle);         //style
    *p++ = LOWORD (lExStyle);           // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (lExStyle);           // HIWORD (dwExtendedStyle)
    *p++ = nDis;                        // x
    *p++ = nHeigh - 1*nDis - nButH;     // y
    *p++ = nButW;                       // cx
    *p++ = nButH;                       // cy
    *p++ = IDOK;                        // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Arry
    *p++ = (WORD)0x0080;                //0x0080 Button 
    nchar = ctowc(("OK"), (PWSTR)p);    //title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               //Align DWORD boundary 
    ///////////////////////   Init for DLGITEMTEMPLATEEX  Cancel  Button  //////////////
    *p++ = LOWORD (dwButStyle);             //style
    *p++ = HIWORD (dwButStyle);             //style
    *p++ = LOWORD (lExStyle);           // LOWORD (dwExtendedStyle)
    *p++ = HIWORD (lExStyle);           // HIWORD (dwExtendedStyle)
    *p++ = nWidth - 1*nDis - nButW;     // x
    *p++ = nHeigh - 1*nDis - nButH;     // y
    *p++ = nButW;                       // cx
    *p++ = nButH;                       // cy
    *p++ = IDCANCEL;                    // ID
    *p++ = (WORD)0xffff;                //Class Name Or Class Arry
    *p++ = (WORD)0x0080;                //0x0080 Button 
    nchar = ctowc(("Cancel"), (PWSTR)p);//title
    p += nchar;                         //title
    *p++ = 0;                           //extraCount
    p = (WORD *)Align(p);               //Align DWORD boundary
    int nRet = (int)DialogBoxIndirectParam((HINSTANCE)::GetWindowLong(hWnd, GWL_HINSTANCE), 
        (LPDLGTEMPLATE)pdlgtemplate, hWnd, (DLGPROC) SelectProc, (LPARAM)dwMem);
    DeleteObject(hFont);
    LocalFree (LocalHandle (pdlgtemplate));
    
return nRet;
}


#undef  INPUT_ID_RADIO
#undef    INPUT_ID_BTN1
#undef    INPUT_ID_BTN2

EJB设计模式5

 就像我们在设计模式4中看到的, Entity Bean的实现大小被缩减到在ejbCreate(), getData()and setData()方法中的仅仅几行,不管CMP字段的数目.下一步是建模公...
  • xxcc
  • xxcc
  • 2001-11-28 14:23:00
  • 654

不使用对话框资源模版创建对话框

在MFC程序中使用对话框时首先在资源模版里创建对话框资源,然后DoModal()或者CReate显示出模式对话框或者非模式对话框,这样创建出的对话框移植性差,从一个工程移动到另一个工程比较麻烦。  ...
  • ykm0722
  • ykm0722
  • 2012-08-28 09:04:28
  • 2019

Visual c++中不使用对话框模板资源创建对话框应用

引言通常情况下,利用vc为应用程序创建对话框需要使用对话框模板资源。通过vc++集成开发环境中的对话框编辑器以可视化的方式创建对话框资源,这种方法可以应用于大多数对话框编程的情况下。但涉及对话框的程序...
  • zhangxinrun
  • zhangxinrun
  • 2010-08-20 10:28:00
  • 1848

Win32学习笔记——对话框资源

对话框资源1.对话框的种类  模式对话框:不允许用户在关闭对话框前切换到该应用程序的其他窗口  非模式对话框:允许用户在给对话框与应用程序的其他窗口间切换2.模式对话框的使用1)定义对话框资源  对话...
  • jesse1013000
  • jesse1013000
  • 2006-10-14 19:35:00
  • 2100

Win32汇编教程三 一个简单的对话框 --- 兼谈资源文件的使用

--------------------------------------------------------------------------------Windows 的资源文件不管在Dos下...
  • ghj1976
  • ghj1976
  • 2000-12-15 08:41:00
  • 2032

Win32动态链接库:实现在Win32 DLL中使用对话框资源动态链接库应用范例

  • 2009年02月18日 20:58
  • 1.88MB
  • 下载

《Windows API》使用对话框资源创建窗口

1.资源文件中右键-》添加-》资源.选择新建对话框.#include #include "resource.h" LRESULT CALLBACK MainWndProc(HWND hwnd, UIN...
  • HERGhost
  • HERGhost
  • 2016-05-16 16:03:39
  • 1244

MFC程序调用Dll中的对话框资源

MFC程序调用Dll中的对话框资源 以非模态显示 调用DLL文件中的对话框_一个DLL的能成功_一个DLL不能成功DllDialogTest VS2010写的 ...
  • yulinxx
  • yulinxx
  • 2014-09-19 00:24:31
  • 1335

win32 DLL中创建的的对话框资源被应用程序调用无法识别的问题

今天使用win32封装了一个DLL,DLL中有很多对话框资源,然后应用程序加载这个DLL后创建对话框时找不到对话框资源,我程序中使用的是CreateDialog,第一个参数是Hinstance类型,之...
  • linux_hsylar
  • linux_hsylar
  • 2016-07-19 12:55:03
  • 301
收藏助手
不良信息举报
您举报文章:不使用资源的对话框
举报原因:
原因补充:

(最多只允许输入30个字)