我的工具栏上面怎么没有按钮啊,刚才有人跳楼了,我现在也郁闷啊
#include <windows.h>
#include <Commctrl.h>
#include "resource.h "
#pragma comment(lib, "comctl32.lib ")
LRESULT CALLBACK WndProc
( HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
WNDCLASS wc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)::GetStockObject(COLOR_BTNFACE);
wc.hCursor=::LoadCursor(NULL,IDC_ARROW);
wc.hInstance=hInstance;
wc.lpfnWndProc=WndProc;
wc.lpszClassName=TEXT( "Draw ");
wc.lpszMenuName=NULL;
wc.hIcon = LoadIcon (NULL,IDI_APPLICATION);
wc.style=CS_HREDRAW | CS_VREDRAW;
if(!RegisterClass(&wc))
{
::MessageBox(NULL,TEXT( "窗口注册失败 "),TEXT( "提示 "),MB_OK);
}
HWND hwnd=::CreateWindow(TEXT( "Draw "),TEXT( "API "),WS_OVERLAPPEDWINDOW ,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL) ;
::ShowWindow(hwnd,SW_SHOW);
::UpdateWindow(hwnd);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam;
}
LRESULT CALLBACK WndProc
( HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rc;
static HWND hwndTB;
TBBUTTON tbb[2];
char szBuf[10]= "剪贴 ";
int iCut,iCopy;
INITCOMMONCONTROLSEX icex;
switch(uMsg)
{
case WM_CREATE:
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_BAR_CLASSES;
InitCommonControlsEx(&icex);
hwndTB=CreateWindowEx(0, TOOLBARCLASSNAME, (LPSTR) NULL,
WS_CHILD | CCS_ADJUSTABLE | WS_VISIBLE, 0, 0, 0, 0, hwnd,
(HMENU) ID_TOOLBAR, NULL, NULL);
iCut = SendMessage(hwndTB, TB_ADDSTRING, 0, (LPARAM) (LPSTR) szBuf);
::LoadString(::GetModuleHandle(NULL),IDS_CUT,szBuf,10);
tbb[0].iBitmap = I_IMAGENONE;
tbb[0].idCommand = IDS_CUT;
tbb[0].fsState = TBSTATE_ENABLED;
tbb[0].fsStyle = BTNS_BUTTON;
tbb[0].dwData = 0;
tbb[0].iString = iCut;
iCopy = SendMessage(hwndTB, TB_ADDSTRING, 0, (LPARAM) (LPSTR) szBuf);
::LoadString(::GetModuleHandle(NULL),IDS_COPY,szBuf,10);
tbb[1].iBitmap = I_IMAGENONE;
tbb[1].idCommand = IDS_COPY;
tbb[1].fsState = TBSTATE_ENABLED;
tbb[1].fsStyle = BTNS_BUTTON;
tbb[1].dwData = 0;
tbb[1].iString = iCopy;
SendMessage(hwndTB, TB_ADDBUTTONS, (WPARAM) 2,
(LPARAM) (LPTBBUTTON) &tbb);
SendMessage(hwndTB, TB_AUTOSIZE, 0, 0);
::ShowWindow(hwndTB,SW_SHOW);
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
::EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
case WM_SIZE:
SendMessage(hwndTB, TB_AUTOSIZE, 0, 0);
return 0;
default:
return ::DefWindowProc(hwnd,uMsg,wParam,lParam);
}
}
工具栏已经有了,可是上面没有按钮
[解决办法]
帮顶!