• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

C++ WINAPI vertikale Toolbar erstellen

Cody227

Mitglied
Hi, ich möchte eine vertikale Toolbar mit eigenen buttons erstellen, aber der code aus der Windows SDK scheint bei mir nicht zu funktionieren... (ich nutze Dev-C++) Ich bekomm ständige wirre Fehlermeldungen mit denen ich nix anfangen kann und den header commctrl.h scheint er komplett zu ignorieren. jetzt muss ich das jedesmal darauf kopieren und in meinen eigenen header schreiben, dann nimmt er es. mittlerweile blick ich da gar nicht mehr durch
 
Werbung:
main.cpp
Code:
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include "resource.h"
#include <commctrl.h>

using namespace std;





LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg,
                          WPARAM wParam, LPARAM lParam );

LPCSTR MainClassName = "Device Contex";
HINSTANCE hInst;
char*username[21];
const char szTextChild[]   = "TextChild";

int numButtons;


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   PSTR szCmdLine, int iCmdShow)
{
   WNDCLASSEX wc;
   MSG wmsg;
   HWND hWnd;

   wc.cbSize = sizeof(WNDCLASSEX);
   wc.style       = 2;
   wc.lpfnWndProc = WndProc;
   wc.cbClsExtra = 0;
   wc.cbWndExtra = 0;
   wc.hInstance = hInstance;
   wc.hIcon = LoadIcon(GetModuleHandle(NULL),
                            MAKEINTRESOURCE(ID_ICON));
   wc.hCursor         = LoadCursor(NULL, IDC_ARROW);
   wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
   wc.lpszMenuName  = MAKEINTRESOURCE(IDR_MENU);
   wc.lpszClassName = MainClassName;
   wc.hIconSm                 = (HICON)LoadImage(GetModuleHandle(NULL),
                                        MAKEINTRESOURCE(ID_ICON),
                                        IMAGE_ICON, 16, 16, 0);

   if(!RegisterClassEx(&wc))
      {
       MessageBox(NULL, "Windows Registrations Fehler", "Error!",
                  MB_ICONEXCLAMATION | MB_OK);
       return 0;
      }

    hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, MainClassName,
                          "TH3T4 Squad IRC-Client",
                          WS_OVERLAPPEDWINDOW|WS_VISIBLE,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          690, 600,NULL,NULL,hInstance, NULL);


    if(hWnd == NULL)
    {
       if(MessageBox(NULL, "Fehler beim Erstellen des Fensters!",
          "Error!",        MB_ICONEXCLAMATION | MB_OK) == IDOK)
          return 0;
    }
    static  HWND   hText;
     hText = CreateWindow(  szTextChild,
                                "Die Letzten werden die Ersten sein.",
                                WS_CHILD | WS_BORDER,
                                0, 0, 100, 100,
                                hWnd,
                                NULL,
                                hInstance,
                                NULL);
     ShowWindow(hText, SW_SHOW);
//TOOLBAR     
HWND CreateVerticalToolbar(HWND hWndParent);
// Create the toolbar window.
HWND hWndToolbar = CreateWindowEx(
        NULL, 
        TOOLBARCLASSNAME, 
        NULL, 
        WS_CHILD | WS_VISIBLE | CCS_VERT | WS_BORDER,
        0, 0, 0, 0,
        hWnd,
        NULL,  
        hInstance,
        NULL);

    // Create the imagelist.
HWND    hImageList = ImageList_Create(
        130, 104,                   // Dimensions of individual bitmaps.  
        ILC_COLOR16,   // to ensures transparent background add  "| ILC_MASK"
        numButtons, 0);

    // Set the image list.
    SendMessage(hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)g_hImageList);

    // Load the button images.
    SendMessage(hWndToolbar, TB_LOADIMAGES, (WPARAM)IDB_STD_LARGE_COLOR, (LPARAM)HINST_COMMCTRL);

    // Add them to the toolbar.
    SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
    SendMessage(hWndToolbar, TB_ADDBUTTONS, numButtons, (LPARAM)&tbButtons3);

    return hWndToolbar;
}; 



    ///////////////////////////////////////////////////////////////////////////////////
CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "",
                                    WS_CHILD | WS_VISIBLE |
                                    WS_VSCROLL | 
                                    ES_MULTILINE|ES_AUTOVSCROLL|
                                    ES_AUTOHSCROLL,
                                    130, 400, 400, 140, hWnd,
                                    (HMENU)IDC_MAIN_EDIT,
                                    GetModuleHandle(NULL), NULL);
               
////////////////////////////////////////////////////////////////////////////////////////////
while(GetMessage(&wmsg,NULL,0,0))
   {
      TranslateMessage(&wmsg);
      DispatchMessage(&wmsg);
   }
   return wmsg.wParam;
}


LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg,
                          WPARAM wParam, LPARAM lParam )
{
  PAINTSTRUCT ps;
  HDC hDC;
  char szPuffer[] = "HIER STEHEN SPÄTER CHATNARICHTEN";

   switch( uMsg )
   {
     //Nachricht schreiben?
     case WM_PAINT :
              hDC = BeginPaint(hWnd, &ps);
              TextOut(hDC, 200, 18, szPuffer, sizeof(szPuffer)-1);  // 130 und 18 beschreiben die position des Textes (x,y)
              EndPaint(hWnd, &ps);
              return 0;
      //Button betätigt?
      case WM_COMMAND:
              switch(LOWORD(wParam)) //mit Loword die unteren bytes aus wParam ermitteln
              {
                  //Server -> Serverlist ausgewählt?
                  case ID_SERVERLIST:
                       DialogBox( hInst,
                                   MAKEINTRESOURCE(IDR_SERVER),
                                   hWnd,
                                   (DLGPROC)CheckListboxProc );
                  break;
                  //Server -> Active Server ausgewählt?
                  case ID_ACTIVESRV:
                  break;
                  //Server -> LOGOUT betätigt?
                  case ID_LOGOUT:
                  break;
                  //Profile -> change username betätigt?
                  case ID_NAMECHANGE:
                       DialogBox( hInst,
                                   MAKEINTRESOURCE(IDR_NAMECHANGE),
                                   hWnd,
                                   (DLGPROC)CheckNameChangeProc );
                  break;
                  //Profile -> Ignorelist betätigt?
                  case ID_IGNORELIST:
                  break;
                  //About -> Version betätigt?
                  case ID_VERSION:
                       MessageBox(hWnd,"Version: 0.3 CLOSED BETA"
                                        " Developed by Thilo Schuchort",
                                        "Version", MB_OK);
                  break;
                  //About -> Credits betätigt?
                  case ID_CREDITS:
                  break;
                  //About -> "Become a part of our team" betätigt?
                  case ID_JOINTEAM:
                  break;
                  //? betätigt?
                  case ID_HELP:
                       MessageBox(hWnd,"This is an beta version of my IRC, "
                                        "so please report all bugs!",
                                        "slight lead", MB_OK);  //slight lead = kleiner Hinweis (ist die Überschrift)
                  break;
              }
              case WM_DESTROY :
              PostQuitMessage(0);
              break;

      default :
            return( DefWindowProc( hWnd, uMsg, wParam, lParam ));
   }
   return( 0L );
}
////////////////////////////////////////////////////////////////////
//MAIN END
////////////////////////////////////////////////////////////////////
HWND hWnd;

//Nachrichtenverarbeitung für die "Listbox
LRESULT CALLBACK CheckListboxProc( HWND hDlg, UINT uMsg,
                               WPARAM wParam, LPARAM lParam )
{
  char szTmp[255] = "*.*";
  PAINTSTRUCT ps;
  HDC hDC;
  char szPuffer[] = "Ein Teststring";
   switch( uMsg )
   {
      //Beim Initialisieren mit bestimmten Werten besehen
      case WM_INITDIALOG :
           DlgDirList( hDlg, szTmp , IDC_LIST, IDC_DIRECTORY,
                                  DDL_DIRECTORY  );
            break;
      case WM_PAINT :
              hDC = BeginPaint(hWnd, &ps);
              TextOut(hDC, 0, 0, szPuffer, sizeof(szPuffer)-1);
              EndPaint(hWnd, &ps);
              return 0;
 
fortsetzung von main.cpp
Code:
     //Listbox auswerten
      case WM_COMMAND :
            switch( LOWORD( wParam ) )
            {
               //Ein Element in der Liste wurde ausgewählt
               case IDC_LIST :
                      //Wurde doppelt geklickt
                      if ( HIWORD( wParam ) == LBN_DBLCLK )
                      {
                        //Element in der Listbox auslesen
                         if ( DlgDirSelectEx( hDlg, szTmp,
                               sizeof( szTmp ), IDC_LIST ) )
                         {
                            strcat( szTmp, "*.*" );
                            DlgDirList( hDlg, szTmp, IDC_LIST,
                                    IDC_DIRECTORY,
                                    DDL_DIRECTORY | DDL_DRIVES );
                         }
                         else //Ausgewähltes Element ausgeben
                            MessageBox( hDlg, szTmp,
                                   "Ausgewählte Datei",
                                   MB_OK | MB_ICONINFORMATION );
                      }
                      break;
               case IDCANCEL :
                      //Dialog mit Abbrechen beenden
                      EndDialog( hDlg, IDCANCEL );
                      break;
            }
            break;
      default :
            return( FALSE );
   }
   return( TRUE );
}

//////////////////////////////////////////////////////////////////////////////////////
//CheckNameChangeProc/////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////

LRESULT CALLBACK CheckNameChangeProc( HWND hDlg, UINT uMsg,
                               WPARAM wParam, LPARAM lParam )
{
   char chk_pswd[9];
   switch( uMsg )
   {
      //Beim Initialisieren mit bestimmten Werten besehen
      case WM_INITDIALOG :
         SetDlgItemText(hDlg, IDC_USERNAME, "username [max 9]");
         break;
      //die Eingabefelder auswerten
      case WM_COMMAND :
         switch(LOWORD (wParam))
            {
               char username;
               case IDOK : //OK-Button wurde gedrückt
                  //Zeichenketten im ersten Eingabefeld einlesen
                  GetDlgItemText (hDlg, IDC_USERNAME,
                                  chk_pswd, sizeof(chk_pswd)-1);
                  MessageBox( hDlg, "Username sucessfull changed",
                                   "Info",
                                   MB_OK | MB_ICONINFORMATION);
                  //Dialog beenden
                  EndDialog( hDlg, IDOK);
                  break;
               case IDCANCEL : //Abbrechen-Button gedrückt
                  //Dialog beenden
                  EndDialog( hDlg, IDCANCEL);
                  break;
            }
         break;
      default: return( TRUE );
   }
 return( TRUE );
}














///////////////////////////////////////////////////////////
char tbButtons3[numButtons];
int numButtons;
HWND CreateVerticalToolbar(HWND hWndParent)
{
    // Definition of the buttons.
    // IDM_NEW, IDM_0PEN, and IDM_SAVE are application-defined command IDs.
    TBBUTTON tbButtons3[numButtons] = 
    {
        {STD_CH1, IDM_CH1, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH1_CHECKED, IDM_CH1, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH2, IDM_CH2, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH2_CHECKED, IDM_CH2, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH3, IDM_CH3, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH3_CHECKED, IDM_CH3, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH4, IDM_CH4, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH4_CHECKED, IDM_CH4, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH5, IDM_CH5, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH5_CHECKED, IDM_CH5, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH6, IDM_CH6, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH6_CHECKED, IDM_CH6, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH7, IDM_CH7, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CH7_CHECKED, IDM_CH7, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0},
        {STD_CHANNEL, IDM_NONE, TBSTATE_ENABLED | TBSTATE_WRAP, BTNS_BUTTON, {0}, 0L, 0}
    };
 
Werbung:
resource.h
Code:
//resource.h - Headerdatei

//commctrl.h
#define ILC_COLOR16 16
#define CCS_VERT 128
#define TB_SETIMAGELIST	(WM_USER+48)
#define TB_LOADIMAGES	(WM_USER+50)
#define TB_ADDBUTTONS	(WM_USER+20)
#define TB_BUTTONSTRUCTSIZE	(WM_USER+30)
#define IDB_STD_LARGE_COLOR	1
#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
#define TOOLBARCLASSNAMEW	"ToolbarWindow32"
#define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i)
typedef struct _IMAGEINFO {
	HBITMAP hbmImage;
	HBITMAP hbmMask;
	int Unused1;
	int Unused2;
	RECT rcImage;
} IMAGEINFO, *LPIMAGEINFO;
typedef struct _IMAGELIST *HIMAGELIST;
int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,int,int,int);
HIMAGELIST WINAPI ImageList_Create(int,int,UINT,int,int);
BOOL WINAPI ImageList_Destroy(HIMAGELIST);
BOOL WINAPI ImageList_DragEnter(HWND,int,int);
BOOL WINAPI ImageList_DragLeave(HWND);
BOOL WINAPI ImageList_DragMove(int,int);
BOOL WINAPI ImageList_DragShowNolock(BOOL);
BOOL WINAPI ImageList_Draw(HIMAGELIST,int,HDC,int,int,UINT);
BOOL WINAPI ImageList_DrawEx(HIMAGELIST,int,HDC,int,int,int,int,COLORREF,COLORREF,UINT);
void WINAPI ImageList_EndDrag(VOID);
#define ImageList_ExtractIcon(h,l,i) ImageList_GetIcon(l,i,0)
COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
HIMAGELIST WINAPI ImageList_GetDragImage(LPPOINT,LPPOINT);
HICON WINAPI ImageList_GetIcon(HIMAGELIST,int,UINT);
BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,int*,int*);
int WINAPI ImageList_GetImageCount(HIMAGELIST);
BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,int,IMAGEINFO*);
#define ImageList_LoadBitmap(h,l,x,G,M) ImageList_LoadImage(h,l,x,G,M,IMAGE_BITMAP,0)
HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,int,int,COLORREF,UINT,UINT);
HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT);
HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,int,HIMAGELIST,int,int,int);
BOOL WINAPI ImageList_Remove(HIMAGELIST,int);
#define ImageList_RemoveAll(l) ImageList_Remove(l,-1)
BOOL WINAPI ImageList_Replace(HIMAGELIST,int,HBITMAP,HBITMAP);
int WINAPI ImageList_ReplaceIcon(HIMAGELIST,int,HICON);
COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,int,int,int);
BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,int,int);
BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int);
#ifdef _OBJIDL_H
HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM);
#endif
typedef struct _TBBUTTON {
	int iBitmap;
	int idCommand;
	BYTE fsState;
	BYTE fsStyle;
	BYTE bReserved[2];
	DWORD dwData;
	int iString;
} TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
typedef const TBBUTTON *LPCTBBUTTON;
#if _WIN32_IE >= 0x400
typedef struct {
	UINT cbSize;
	DWORD dwMask;
	int idCommand;
	int iImage;
	BYTE fsState;
	BYTE fsStyle;
	WORD cx;
	DWORD lParam;
	LPSTR pszText;
	int cchText;
} TBBUTTONINFOA, *LPTBBUTTONINFOA;
typedef struct {
	UINT cbSize;
	DWORD dwMask;
	int idCommand;
	int iImage;
	BYTE fsState;
	BYTE fsStyle;
	WORD cx;
	DWORD lParam;
	LPWSTR pszText;
	int cchText;
} TBBUTTONINFOW, *LPTBBUTTONINFOW;
typedef struct {
	int iButton;
	DWORD dwFlags;
} TBINSERTMARK, *LPTBINSERTMARK;
typedef struct tagLVBKIMAGEA {
	ULONG ulFlags;              
	HBITMAP hbm;
	LPSTR pszImage;
	UINT cchImageMax;
	int xOffsetPercent;
	int yOffsetPercent;
} LVBKIMAGEA, *LPLVBKIMAGEA;
typedef struct tagLVBKIMAGEW {
	ULONG ulFlags;             
	HBITMAP hbm;
	LPWSTR pszImage;
	UINT cchImageMax;
	int xOffsetPercent;
	int yOffsetPercent;
} LVBKIMAGEW, *LPLVBKIMAGEW;
#endif /* _WIN32_IE >= 0x400 */

//


#define IDR_MENU                       100
#define ID_ICON                        111
/////////////////////////////////////////////////////////////////////////////
#define ID_SERVERLIST                  1                                   //  
   #define IDR_SERVER                  1001                                // 
       #define IDC_SRVLISTING          10001                               //
   #define IDR_NEWSRV                  1002                                //
       #define IDC_SRVEDITBOX          10002                               //
   #define IDR_CHANNELS                1003                                // 
       #define IDC_CHLISTING           10003                               //
/////////////////////////////////////////////////////////////////////////////
#define ID_ACTIVESRV                   2                                   //
   #define IDR_ACTIVESRV               2001                                //
       #define IDC_ACTIVESRV           20001                               //
/////////////////////////////////////////////////////////////////////////////
#define ID_LOGOUT                      3                                   //
   #define IDR_LOGOUT                  3001                                //
/////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////
#define ID_NAMECHANGE                  4                                   //
   #define IDR_NAMECHANGE              4001                                //
/////////////////////////////////////////////////////////////////////////////
#define ID_IGNORELIST                  5                                   //
   #define IDR_IGNORELIST              5001                                //
       #define IDC_IGNORELISTING       50001                               //
   #define IDR_NEWIGNORE               5002                                //
       #define IDC_NEWIGNORE           50002                               //
/////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////
#define ID_VERSION                     6                                   //
    #define IDR_VERSION                6001                                //
#define ID_CREDITS                     7                                   //
    #define IDR_CREDITS                7001                                //
#define ID_JOINTEAM                    8                                   //
    #define IDR_JOINTEAM               8001                                //
/////////////////////////////////////////////////////////////////////////////
#define ID_HELP                        9







#define IDR_LISTBOX                     1033



#define IDC_CHECKBOX1                  10001
#define IDC_CHECKBOX2                  10002
#define IDC_RADIO1                     10003
#define IDC_RADIO2                     10004
#define IDC_RADIO3                     10005

#define IDC_USERNAME                   10006
#define IDC_EDIT1                      10007

#define IDC_DIRECTORY                  10008
#define IDC_LIST                       10009

#define PASSWORT "pinguin"
#define NUMMER    666999
#define IDC_MAIN_TEXTOUT                102
#define IDC_MAIN_EDIT                   103

/////////////////////////////////////////////////////////
//NEW DEFENITIONS
//


LRESULT CALLBACK CheckNameChangeProc(HWND hDlg, UINT uMsg,
                                WPARAM wParam, LPARAM lParam );

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMsg,
                         WPARAM wParam, LPARAM lParam);

LRESULT CALLBACK CheckRadioProc(HWND hDlg, UINT uMsg,
                                WPARAM wParam, LPARAM lParam );

LRESULT CALLBACK CheckEditProc(HWND hDlg, UINT uMsg,
                               WPARAM wParam, LPARAM lParam );

LRESULT CALLBACK CheckListboxProc(HWND hDlg, UINT uMsg,
                                  WPARAM wParam, LPARAM lParam );
 
resource.rc
Code:
#include <windows.h>
#include "resource.h"

/////////////////////////////////////////////////////////////////
//
// Menü
//

IDR_MENU MENU
BEGIN
    POPUP "Server"                         
    BEGIN
        MENUITEM "Serverlist",             ID_SERVERLIST
        MENUITEM "Active Server",          ID_ACTIVESRV  
        MENUITEM "Logout",                 ID_LOGOUT     
    END
    POPUP "Profile"
    BEGIN
        MENUITEM "Change Username",            ID_NAMECHANGE 
        MENUITEM "Ignorelist",                 ID_IGNORELIST 
    END
    POPUP "About"                           
    BEGIN
        MENUITEM "Version",                 ID_VERSION
        MENUITEM "Credits",                 ID_CREDITS
        MENUITEM "Become a part of our team",  ID_JOINTEAM  
    END
    MENUITEM "?",                                 ID_HELP
END



/////////////////////////////////////////////////////////////////////////////////////////////////////////
//Channel-Buttons
//
STD_CHANNEL           BITMAP     "img\\Channels.bmp"  
STD_CH1               BITMAP     "img\\CH1_BUTTON.bmp"
STD_CH1_CHECKED       BITMAP     "img\\CH1_BUTTON_checked.bmp"
STD_CH2               BITMAP     "img\\CH2_BUTTON.bmp"
STD_CH2_CHECKED       BITMAP     "img\\CH2_BUTTON_checked.bmp"
STD_CH3               BITMAP     "img\\CH3_BUTTON.bmp"
STD_CH3_CHECKED       BITMAP     "img\\CH3_BUTTON_checked.bmp"
STD_CH4               BITMAP     "img\\CH4_BUTTON.bmp"
STD_CH4_CHECKED       BITMAP     "img\\CH4_BUTTON_checked.bmp"
STD_CH5               BITMAP     "img\\CH5_BUTTON.bmp"
STD_CH5_CHECKED       BITMAP     "img\\CH5_BUTTON_checked.bmp"
STD_CH6               BITMAP     "img\\CH6_BUTTON.bmp"
STD_CH6_CHECKED       BITMAP     "img\\CH6_BUTTON_checked.bmp"
STD_CH7               BITMAP     "img\\CH7_BUTTON.bmp"
STD_CH7_CHECKED       BITMAP     "img\\CH7_BUTTON_checked.bmp"
/////////////////////////////////////////////////////////////////
//Icon
//
ID_ICON              ICON        "icon.ico"

///////////////////////////////////////////////////////////////////////
//Send-Message-Button
//
//STD_SENDMESSAGE      BITMAP   "img\\SendMessage_BUTTON.bmp"
//STD_SENDMESSAGE      BITMAP   "img\\SendMessage_BUTTON_klicked.bmp"






/////////////////////////////////////////////////////////////////////////////////////////////////////////
//Serverlist
//
IDR_NAMECHANGE DIALOGEX  20, 20, 200, 110
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Serverlist"
FONT 8, "MS Sans Serif"
BEGIN
    
    LISTBOX         IDC_SRVLISTING,6,20,170,59,LBS_SORT |
                                         LBS_NOINTEGRALHEIGHT |
                                         LBS_DISABLENOSCROLL |
                                         WS_VSCROLL |
                                         WS_TABSTOP
    PUSHBUTTON      "&add server",IDCANCEL,20,87,50,14,WS_GROUP
    PUSHBUTTON      "&Ok",IDOK,90,87,50,14,WS_GROUP
END

////////////////////////////////////////////////////////////////////////////////////////////////////////
//Change Username
//
IDR_SERVER DIALOGEX 120, 120, 200, 110
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | 
                                              WS_SYSMENU  //WS_NOCLOSE so geschrieben?
CAPTION "Change your Username"
FONT 8, "MS Sans Serif"
BEGIN
   LTEXT "New Username: ", 50, 36, 6, 45, 22
   EDITTEXT IDC_USERNAME, 83,6,61,13, ES_AUTOHSCROLL | WS_BORDER
   PUSHBUTTON "&Ok", IDOK, 33, 50, 50, 14
   PUSHBUTTON "&Cancel", IDCANCEL, 95, 50, 50 ,14,WS_GROUP
END


Sorry für den doppelpost, aber für einen war der text um einiges zu lang
 
Werbung:
Compiler: Default compiler
Building Makefile: "C:\Chat GUI\Makefile.win"
Führt make... aus
make.exe -f "C:\Chat GUI\Makefile.win" all
gcc.exe -c mainGUI.cpp -o mainGUI.o -I"C:/Dev-Cpp/include"

mainGUI.cpp: In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
mainGUI.cpp:84: error: `CCS_VERT' undeclared (first use this function)
mainGUI.cpp:84: error: (Each undeclared identifier is reported only once for each function it appears in.)

mainGUI.cpp:95: error: cannot convert `_IMAGELIST*' to `HWND__*' in initialization
mainGUI.cpp:98: error: `TB_SETIMAGELIST' undeclared (first use this function)
mainGUI.cpp:98: error: `g_hImageList' undeclared (first use this function)
mainGUI.cpp:101: error: `TB_LOADIMAGES' undeclared (first use this function)
mainGUI.cpp:105: error: `tbButtons3' undeclared (first use this function)
mainGUI.cpp:107: error: invalid conversion from `HWND__*' to `int'
mainGUI.cpp: At global scope:
mainGUI.cpp:113: error: expected constructor, destructor, or type conversion before '(' token
mainGUI.cpp:113: error: expected `,' or `;' before '(' token
mainGUI.cpp:123: error: expected unqualified-id before "while"
mainGUI.cpp:123: error: expected `,' or `;' before "while"
mainGUI.cpp:128: error: expected unqualified-id before "return"
mainGUI.cpp:128: error: expected `,' or `;' before "return"
mainGUI.cpp:129: error: expected declaration before '}' token

make.exe: *** [mainGUI.o] Error 1

Ausführung beendet

Ich schätze mal das meiste kommt durch ne doppeldeklarierung, ich behebe das mal schnell und editiere dann...

//EDIT: sind schon deutlich weniger
 
mainGUI.cpp:113: error: expected constructor, destructor, or type conversion before '(' token
mainGUI.cpp:113: error: expected `,' or `;' before '(' token
bezieht sivch auf
Code:
CreateWindowEx(...
müsste
Code:
hWnd = CreateWindowEx(...
heißen
 
Werbung:
mainGUI.cpp:123: error: expected unqualified-id before "while"
mainGUI.cpp:123: error: expected `,' or `;' before "while"
mainGUI.cpp:128: error: expected unqualified-id before "return"
mainGUI.cpp:128: error: expected `,' or `;' before "return"
mainGUI.cpp:129: error: expected declaration before '}' token
Code:
while(GetMessage(&wmsg,NULL,0,0))
   {
      TranslateMessage(&wmsg);
      DispatchMessage(&wmsg);
   }
   return wmsg.wParam;
} //Diese Klammer wird nie geöffnet
steht außerhalb der main.


Code:
    return hWndToolbar;
Warum gibst du in der main hWndToolbar zurück??

Hab i-wie das gefühl, dass da was durcheinander geraten ist.



edit: Jop, da is garantiert was durcheinander geraten:
mainGUI.cpp:107: error: invalid conversion from `HWND__*' to `int'
Der Fehler entsteht, weil du hWndToolbar zurückgibst, und keinen Integer
 
Zuletzt bearbeitet:
mainGUI.cpp: In function `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)':
mainGUI.cpp:84: error: `CCS_VERT' undeclared (first use this function)
...
mainGUI.cpp:98: error: `TB_SETIMAGELIST' undeclared (first use this function)
...
mainGUI.cpp:101: error: `TB_LOADIMAGES' undeclared (first use this function)
Seh ich Dinge dies garnet gibt??
Code:
#define CCS_VERT 128
#define TB_SETIMAGELIST    (WM_USER+48)
#define TB_LOADIMAGES    (WM_USER+50)
Alles da!! :???:
 
Werbung:
mainGUI.cpp:95: error: cannot convert `_IMAGELIST*' to `HWND__*' in initialization
Code:
HWND    hImageList = ImageList_Create(
Der Fehlermeldung nach, würde ich sagen, dass es so aussehen müsste:
Code:
HIMAGELIST    hImageList = ImageList_Create(
edit2: richtig geraten: ImageList_Create Function (Windows). Typ des Rückgabewertes: HIMAGELIST





edit: Wenn ich nichts übersehen habe sollten das jetzt alle Fehler gewesen sein. (eine Stunde lang ein und den selben dreigeteilten Quelltext ansehen und nach Fehlern suchen; ich bekomm diese Nacht noch Albträume davon :)).
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben