首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

高分用API给小弟我添加一个工具栏

2012-02-16 
高分求助:用API给我添加一个工具栏我想用纯API添加一个工具栏,搞很久没有搞出来,别人给我的函数,我不知道

高分求助:用API给我添加一个工具栏
我想用纯API添加一个工具栏,搞很久没有搞出来,别人给我的函数,我不知道怎么用,郁闷啊。现在想大家求一个工程,发到我的邮箱吧:kevin820601@tom.com

一定要回复,email请注明你的ID,100分全给你,为减轻你的工作量,以下是我的部分代码,可以编译通过,只要一个工具栏,其他的不要,以免我糊涂,谢谢,

#include <windows.h>
LRESULT   CALLBACK   WndProc
(   HWND   hwnd,
    UINT   uMsg,
    WPARAM   wParam,
    LPARAM   lParam
);
int   WinMain(HINSTANCE   hInstance,
        HINSTANCE   hPrevInstance,
        LPSTR   lpCmdLine,
        int   nCmdShow
)
{
WNDCLASS   wc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)::GetStockObject(WHITE_BRUSH);
wc.hCursor=::LoadCursor(NULL,IDC_ARROW);
wc.hInstance=hInstance;
wc.lpfnWndProc=WndProc;
wc.lpszClassName= "Draw ";
wc.lpszMenuName=NULL;
wc.hIcon   =   LoadIcon   (NULL,   IDI_APPLICATION);
wc.style=CS_HREDRAW   |   CS_VREDRAW;
if(!RegisterClass(&wc))
{
::MessageBox(NULL, "窗口注册失败 ", "提示 ",MB_OK);
}
HWND   hwnd=::CreateWindow( "Draw ", "画图板 ",WS_OVERLAPPEDWINDOW   ,
                                    CW_USEDEFAULT,   CW_USEDEFAULT,
                                                    CW_USEDEFAULT,   CW_USEDEFAULT,
                                                    NULL,   NULL,   hInstance,   NULL)   ;
::ShowWindow(hwnd,nCmdShow);
::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;
HWND   hToolBar;
PAINTSTRUCT   ps;
switch(uMsg)
{
case   WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
::EndPaint(hwnd,&ps);
return   0;
case   WM_DESTROY:
PostQuitMessage(0);
return   0;
default:
return   ::DefWindowProc(hwnd,uMsg,wParam,lParam);
}
}

[解决办法]
用Windows API 创建最完美的工具栏

www.bbsftp.com/myweb/ArticleShow.asp?ArtID=389&ArtClassID=5
[解决办法]
或者google/baidu该主题 ~~
[解决办法]
mark
[解决办法]
TBBUTTON ptoolbar[30]={ {STD_FILENEW,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_FILEOPEN,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_FILESAVE,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_CUT,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_COPY,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},


{STD_PASTE,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_REDOW,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_UNDO,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_FIND,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_REPLACE,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_PRINT,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_PRINTPRE,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_PROPERTIES,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_HELP,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{STD_DELETE,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON, 0, 0},
{0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0}
};
int iToolNum=16;
hToolsWindow=CreateToolbarEx(hWnd,
WS_CHILD|WS_VISIBLE|TBSTYLE_WRAPABLE|TBSTYLE_TOOLTIPS|TBSTYLE_FLAT|CCS_ADJUSTABLE,
IDR_TOOLBAR1,
100,
HINST_COMMCTRL,
IDB_STD_SMALL_COLOR,
ptoolbar,
iToolNum,
0,0,0,0,
sizeof(TBBUTTON));
RECT Rect;
GetWindowRect(hToolsWindow,&Rect);
[解决办法]
wqvbka123(奶瓶 她家起火了) 的不行么?
[解决办法]
现在WinMain的CreateWindow前调用InitCommonControls函数.
然后在窗口的Create事件中调用CreateToolbarEx函数创建Toolbar

具体创建Toolbar的方法可以看MSDN的[用户界面设计与开发]-[Windows Controls]中的内容

热点排行