![]() |
◊ |
| www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум | |
|
|
#1 |
|
Новичок
Регистрация: 09.07.2010
Сообщений: 7
Вы сказали Спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
|
написал программу в VS 2010 но она не работает на компьтерах где нет вижуал студии 10 ,а точнее библиотеки msvcr100.dll.
решил использовать другой компилятор ,выбрал dev-cpp. исправил программу немного - откомпилировал,она запустилась но изображение в приложении отсутствует и именно из-за того что не подключены изображения. напрямую LoadImage'ом из какой либо директории открывает нормально LoadBitmap'ом из ресурсов ни в какую main.cpp Код:
#include "Resource.h"
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
int nCmdShow=1;
char szWindowClass[ ] = "WindowsApp";
int s=0,j=0,p;
static TCHAR szTitle[] = "!!!";
static HINSTANCE hInst;
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
HWND hwnd;
MSG messages;
WNDCLASSEX wincl;
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szWindowClass;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
if (!RegisterClassEx (&wincl))
return 0;
for(j;j<=5;j++)
{
hwnd = CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,rand()%1000,rand()%700,500, 500,NULL,NULL,hThisInstance,NULL);
s=3;
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
}
while (GetMessage (&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
return messages.wParam;
}
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_PAINT:
HBITMAP hBm,old;
HDC ourDC;
if(s%2){
hBm = LoadBitmap(hInst,"IDB_BITMAP1");
ourDC = CreateCompatibleDC(GetDC(hwnd));
old = (HBITMAP)SelectObject(ourDC, hBm);
BitBlt(GetDC(hwnd), 100, 100,271,249, ourDC, 0, 0, SRCCOPY);
}else{
hBm= LoadBitmap(hInst,"IDB_BITMAP2");
ourDC = CreateCompatibleDC(GetDC(hwnd));
old = (HBITMAP)SelectObject(ourDC, hBm);
BitBlt(GetDC(hwnd), 100, 100,291,211, ourDC, 0, 0, SRCCOPY);
}
break;
case WM_DESTROY:{s++;
p=j;
for(j;j<=p*2;j++)
{
hwnd = CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,rand()%1200,rand()%700,500, 500,NULL,NULL,hInst,NULL);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
}
}
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
resource.h Код:
#include "windows.h" #define IDB_BITMAP1 100 bitmap.rc Код:
#include "Resource.h" IDB_BITMAP1 BITMAP "1.bmp" IDB_BITMAP2 BITMAP "2.bmp" |
|
|
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|