#include <Windows.h>
#include "resource.h"
#include<tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <TCHAR.H>
#include <Windowsx.h> //-----------------------
LRESULT CALLBACK DlgProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE PrehInstance,PSTR szCmdLine,
int iCmdShow)
{
    DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DlgProc);
return 0;
}
LRESULT CALLBACK DlgProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{

 HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY);   
  switch( msg)
  {  
 
  case WM_INITDIALOG:
  
                    ComboBox_AddString(hComboCity,TEXT("FuZhou"));
                ComboBox_AddString(hComboCity,TEXT("BeiJing"));
                ComboBox_AddString(hComboCity,TEXT("ShangHai"));
  
            return TRUE;
  case WM_COMMAND:
            switch(LOWORD(wParam))
            {
case IDOK:
int iLine;
                TCHAR cRow[256];
iLine=ComboBox_GetCount(hComboCity);
_itow_s(iLine,cRow,10);
MessageBox(hWnd,cRow,NULL,MB_OK);
break;
case IDCANCEL:
                    EndDialog(hWnd, IDCANCEL);
                break;
case IDC_BUTTONDEL:
int iCurSel;
iCurSel=ComboBox_GetCurSel(hComboCity);
ComboBox_DeleteString(hComboCity,iCurSel);
break;
                
              }
       break;
       default:
       return FALSE;  }
  return TRUE;}
运行正常
#include <Windows.h>
#include "resource.h"
#include<tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <TCHAR.H>
#include <Windowsx.h> //-----------------------
LRESULT CALLBACK DlgProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE PrehInstance,PSTR szCmdLine,
int iCmdShow)
{
    DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DlgProc);
return 0;
}
LRESULT CALLBACK DlgProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{

    
  switch( msg)
  {            HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY  
  case WM_INITDIALOG:
  
                    ComboBox_AddString(hComboCity,TEXT("FuZhou"));
                ComboBox_AddString(hComboCity,TEXT("BeiJing"));
                ComboBox_AddString(hComboCity,TEXT("ShangHai"));
  
            return TRUE;
  case WM_COMMAND:
            switch(LOWORD(wParam))
            {
case IDOK:
int iLine;
                TCHAR cRow[256];
iLine=ComboBox_GetCount(hComboCity);
_itow_s(iLine,cRow,10);
MessageBox(hWnd,cRow,NULL,MB_OK);
break;
case IDCANCEL:
                    EndDialog(hWnd, IDCANCEL);
                break;
case IDC_BUTTONDEL:
int iCurSel;
iCurSel=ComboBox_GetCurSel(hComboCity);
ComboBox_DeleteString(hComboCity,iCurSel);
break;
                
              }
       break;
       default:
       return FALSE;  }
  return TRUE;}
通不过

解决方案 »

  1.   

    第二个是编译不通过吧!
    HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY这句语法错误了,没有括号和分号
    HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY);
      

  2.   

    HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY);放到switch上面去。基础不够扎实!
      

  3.   

    第二个是编译不通过吧!
    HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY这句语法错误了,HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY); 
    我知道,加没有括号和分号也通不过
      

  4.   

    HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY);放到switch上面去。基础不够扎实! 
    知道放到switch上面去,为什么呢,对话框完成发WM_INITDIALOG,再声明和初始化句柄为什么就不行呢?
      

  5.   

    switch( msg)
      {            HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY  
      case WM_INITDIALOG:
    // switch 后接case ,不能插入 别的 语句。
    HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY);
    可以放 case WM_INITDIALOG:
    里。
      

  6.   

    switch( msg)
      {            HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY  
      case WM_INITDIALOG:
    // switch 后接case ,不能插入 别的 语句。
    HWND hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY);
    可以放 case WM_INITDIALOG:
    里。  
     
    试过,不行
      

  7.   

    C 文件 HWND hComboCity 是不行的。
    变量要先定义,再使用。
    HWND hComboCity;
    ...hComboCity=GetDlgItem(hWnd,IDC_COMBOCITY);
    Cpp 文件可以 边用 边定义。