ребят не знаю почему, но у меня в инструментальной панеле на кнопках не появляется моя картинка(ш:48,в:16):
.....
вот текст програмки:
main.h#include <windows.h>
#include <windowsx.h>
#include "resource.h"
#include <wchar.h>
#include <commctrl.h>
#pragma comment (lib, "comctl32.lib")
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
BOOL OnCreate(HWND,LPCREATESTRUCT);
void OnPaint(HWND);
void OnCommand(HWND,int,HWND,UINT);
void OnDestroy(HWND);
main.cpp#include "main.h"
#define SHIRINA 600
#define VISOTA 400
int sw;
HBRUSH blue,green;
HINSTANCE hI;
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE,LPSTR,int)
{
wchar_t *szClassName=L"MainWindow";
wchar_t *szTitle=L"made Krip6.1";
MSG msg;
WNDCLASS wc;
ZeroMemory(&wc,sizeof(wc));
wc.lpfnWndProc=WndProc;
wc.hInstance=hInst;
wc.hIcon=LoadIcon(0,IDI_APPLICATION);
wc.hCursor=LoadCursor(0,IDC_ARROW);
wc.hbrBackground=CreateSolidBrush(RGB(100,100,100));
wc.lpszClassName=szClassName;
wc.lpszMenuName=L"Main";
RegisterClass(&wc);
HWND hwnd=CreateWindow(szClassName,szTitle,WS_OVERLAPPEDWINDOW|WS_SIZEBOX,
20,20,SHIRINA,VISOTA,HWND_DESKTOP,0,hInst,0);
ShowWindow(hwnd,SW_SHOWNORMAL);
while(GetMessage(&msg,NULL,0,0)){
DispatchMessage(&msg);}
return 0;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
HANDLE_MSG(hwnd,WM_COMMAND,OnCommand);
HANDLE_MSG(hwnd,WM_CREATE,OnCreate);
HANDLE_MSG(hwnd,WM_PAINT,OnPaint);
HANDLE_MSG(hwnd,WM_DESTROY,OnDestroy);
default: return(DefWindowProc(hwnd,msg,wParam,lParam));}}
BOOL OnCreate(HWND hwnd,LPCREATESTRUCT)
{
blue=CreateSolidBrush(RGB(0,0,255));
green=CreateSolidBrush(RGB(0,255,0));
TBBUTTON menut[3];
ZeroMemory(&menut,sizeof(menut));
menut[0].iBitmap=0;
menut[0].idCommand=ID_1;
menut[0].fsState=TBSTATE_ENABLED;
menut[1].iBitmap=1;
menut[1].idCommand=ID_2;
menut[1].fsState=TBSTATE_ENABLED;
menut[2].iBitmap=2;
menut[2].idCommand=ID_3;
menut[2].fsState=TBSTATE_ENABLED;
CreateToolbarEx(hwnd,WS_CHILD|WS_BORDER|WS_VISIBLE,
-1,3,hI,IDB_BITMAP1 ,menut,3,16,16,16,16,sizeof(TBBUTTON));
return TRUE;}
void OnCommand(HWND hwnd,int id,HWND,UINT)
{
switch(id){
case ID_1:
sw=1;
InvalidateRect(hwnd,NULL,TRUE);
break;
case ID_2:
sw=2;
InvalidateRect(hwnd,NULL,TRUE);
break;
case ID_3:DestroyWindow(hwnd);}}
void OnPaint(HWND hwnd)
{
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hwnd,&ps);
if (sw==1)
FillRect(hdc,&ps.rcPaint,blue);
if(sw==2)
FillRect(hdc,&ps.rcPaint,green);
EndPaint (hwnd, &ps);}
void OnDestroy(HWND){
PostQuitMessage(0);
}
resource.h#define IDB_BITMAP1 101
#define ID_1 101
#define ID_2 102
#define ID_3 103
файл ресурса:IDB_BITMAP1 BITMAP "bitmap1.bmp"
Панелька появляется но кнопки пустые....
<Накажу...>Добавлено через 7 часов, 59 минут и 19 секунд:1-ая вот картинка обычная в проге каторая...
2-ая скрин что получается ..
Добавлено через 47 секунд:вот скрин