Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.11.2013, 16:12   #1
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию MAKEINTRESOURCE

подскажите почему у меня подчеркивает MAKEINTRESOURCE


Код:
#include <Windows.h>
#include<tchar.h>
#include"resource.h"
#define IDB_BITMAP1
 
TCHAR szClassWindow[]=TEXT("Каркасное приложение");
LRESULT CALLBACK WindowProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hinst;
int WINAPI WinMain(HINSTANCE hinst,HINSTANCE hPrev,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG msg; 
WNDCLASSEX wc;
    wc.cbSize          = sizeof(wc);
    wc.style           = CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS;//стиль класса окна
    wc.lpfnWndProc     =WindowProc;
    wc.cbClsExtra      =0;
    wc.cbWndExtra      =0;
    wc.hInstance       =hinst;//дескриптор данного приложения
    //загрузка стандартной иконки
    wc.hIcon          =LoadIcon(NULL, IDI_APPLICATION);
    //загрузка стандартного курсора
    wc.hCursor        = LoadCursor(NULL,IDC_HAND);
    //заполнение окна белым цветом
    wc.hbrBackground  = (HBRUSH) GetStockObject(WHITE_BRUSH);
    wc.lpszMenuName   =NULL;// приложение не содержит меню
    wc.lpszClassName  =szClassWindow;//имя класса окна
    wc.hIconSm        =NULL;
    if(!RegisterClassEx(&wc))
        return 0;
    hwnd=CreateWindowEx(
        0,
        szClassWindow,//имя класса
        TEXT("Каркас приложение Windows"),//
        WS_OVERLAPPEDWINDOW|WS_BORDER,//
        200,
        200,
        750,
        459,
        NULL,
        NULL,
        hinst,
        NULL);
    //
 
    ShowWindow(hwnd,nCmdShow);
    HMENU MainMenu;
    HMENU  SubMenu;
    MainMenu = CreateMenu();
    SubMenu = CreateMenu();
    AppendMenu(MainMenu,MF_POPUP,(UINT_PTR)SubMenu,TEXT("Меню"));
    AppendMenu(SubMenu, MF_STRING, 1, TEXT("Новичёк"));
    AppendMenu(SubMenu, MF_STRING, 2, TEXT("Любитель"));
    AppendMenu(SubMenu, MF_STRING, 3, TEXT("Професионал"));
    AppendMenu(SubMenu, MF_STRING, 4, TEXT("Пользователь"));
    AppendMenu(MainMenu, MF_STRING, 5, TEXT("Выход"));
    ATOM MyRegisterClass (HINSTANCE);
    SetMenu(hwnd, MainMenu);
      while (GetMessage (&msg, NULL, 0, 0))
    {
 
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
 
    return msg.wParam;
 
}
 
LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMessage, WPARAM wParam,LPARAM lParam)
{
    PAINTSTRUCT ps;
    HDC hDC; 
RECT rect; 
PAINTSTRUCT ps; 
HBITMAP hBitmap;
static HDC membit;
static BITMAP bm;
        switch(uMessage)
    {
        
        case WM_COMMAND:
            if(wParam==2){
                MessageBox(hWnd,TEXT("Любитель"),TEXT(""),MB_OKCANCEL);
            }
                    case WM_CREATE: 
                        hBitmap=LoadBitmap(hinst,MAKEINTRESOURCE( Сапер.bmp));
                        GetObject(hBitmap, sizeof(bm),&bm);
                        hDC=GetDC(hWnd);
                        membit=CreateCompatibleDC(hDC);
                        SelectObject(membit,hBitmap);
                        ReleaseDC(hWnd,hDC);
                        SetClassLong(hWnd, GCL_HBRBACKGROUND, 
                         (LONG) CreateSolidBrush(RGB(600,500,600))); 
break;
    case WM_DESTROY:
        KillTimer(hWnd,1);
        PostQuitMessage(0);
        break;  
    default:
        return DefWindowProc(hWnd,uMessage,wParam,lParam);
    }
    return 0;
}
mixon-21 вне форума
Старый 17.11.2013, 16:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Где подчеркивает? О_о
Не вижу ><

Кстати у тебя не подключен winuser.h, в котором он описан.
I'm learning to live...

Последний раз редактировалось Stilet; 17.11.2013 в 16:16.
Stilet вне форума
Старый 17.11.2013, 16:34   #3
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию

Вот здесь:
Цитата:
hBitmap=LoadBitmap(hinst,MAKEINTRES OURCE( Сапер.bmp));
и Подскажите как правильно создать картинку ???
mixon-21 вне форума
Старый 17.11.2013, 17:17   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а ну ты банально ковычки не поставил )
Смотри пример винапишки: http://www.programmersforum.ru/showthread.php?t=107869
I'm learning to live...
Stilet вне форума
Старый 17.11.2013, 17:31   #5
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию

Спасибо то-что надо!!!!
А как мне вывести картинку на экран????


Код:
#define IDB_BITMAP1 
#define _UNICODE
#include <Windows.h>
#include<tchar.h>
#include"resource.h"
#include <winuser.h>
HWND ListBox;

TCHAR szClassWindow[]=TEXT("Каркасное приложение");
LRESULT CALLBACK WindowProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hinst;
int WINAPI WinMain(HINSTANCE hinst,HINSTANCE hPrev,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hwnd;
MSG msg; 
WNDCLASSEX wc;
    wc.cbSize          = sizeof(wc);
    wc.style           = CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS;//стиль класса окна
	wc.lpfnWndProc     =WindowProc;
	wc.cbClsExtra      =0;
	wc.cbWndExtra      =0;
	wc.hInstance       =hinst;//дескриптор данного приложения
	//загрузка стандартной иконки
	wc.hIcon          =LoadIcon(NULL, IDI_APPLICATION);
	//загрузка стандартного курсора
	wc.hCursor        = LoadCursor(NULL,IDC_HAND);
	//заполнение окна белым цветом
	wc.hbrBackground  = (HBRUSH) GetStockObject(WHITE_BRUSH);
	wc.lpszMenuName   =NULL;// приложение не содержит меню
	wc.lpszClassName  =szClassWindow;//имя класса окна
	wc.hIconSm        =NULL;
	if(!RegisterClassEx(&wc))
		return 0;
	hwnd=CreateWindowEx(
		0,
		szClassWindow,//имя класса
		TEXT("Каркас приложение Windows"),//
		WS_OVERLAPPEDWINDOW|WS_BORDER,//
		350,
		400,
		750,
		459,
		NULL,
		NULL,
		hinst,
		NULL);
	//
		ShowWindow(hwnd,nCmdShow);
	HMENU MainMenu;
    HMENU  SubMenu;
    MainMenu = CreateMenu();
    SubMenu = CreateMenu();
    AppendMenu(MainMenu,MF_POPUP,(UINT_PTR)SubMenu,TEXT("Меню"));
    AppendMenu(SubMenu, MF_STRING, 1, TEXT("Новичёк"));
    AppendMenu(SubMenu, MF_STRING, 2, TEXT("Любитель"));
    AppendMenu(SubMenu, MF_STRING, 3, TEXT("Професионал"));
	AppendMenu(SubMenu, MF_STRING, 4, TEXT("Пользователь"));
    AppendMenu(MainMenu, MF_STRING, 5, TEXT("Выход"));
    ATOM MyRegisterClass (HINSTANCE);
    SetMenu(hwnd, MainMenu);
	  while (GetMessage (&msg, NULL, 0, 0))
    {

        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return msg.wParam;

}

LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMessage, WPARAM wParam,LPARAM lParam)
{
HDC hDC; 
RECT rect; 
PAINTSTRUCT ps; 
HBITMAP hBitmap;
static HDC membit;
static BITMAP bm;
		switch(uMessage)
	{
					case WM_CREATE: 
						hBitmap=LoadBitmap(hinst, MAKEINTRESOURCE("IDB_BITMAP1"));
                        GetObject(hBitmap, sizeof(bm),&bm);
                        hDC=GetDC(hWnd);
                        membit=CreateCompatibleDC(hDC);
                        SelectObject(membit,hBitmap);
                        ReleaseDC(hWnd,hDC);
                  
break;
				
					case WM_PAINT:
						hDC=BeginPaint(hWnd,&ps);
						BitBlt(hDC,10,10,bm.bmWidth,bm.bmHeight,membit,50,50,SRCCOPY);
						EndPaint(hWnd,&ps);
						break;						
	case WM_DESTROY:
		KillTimer(hWnd,1);
		PostQuitMessage(0);
		break;	
	default:
		return DefWindowProc(hWnd,uMessage,wParam,lParam);
	}
	return 0;
}

полдня ищу уже немогу найти!!!!
mixon-21 вне форума
Старый 17.11.2013, 17:54   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Посмотри мой пример. Там как раз описывается static окошко для отрисовки картинки.
I'm learning to live...
Stilet вне форума
Старый 17.11.2013, 21:05   #7
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию

не понял я ????
mixon-21 вне форума
Старый 17.11.2013, 21:09   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что именно не понял?
I'm learning to live...
Stilet вне форума
Старый 17.11.2013, 21:28   #9
mixon-21
Я только Учусь
Форумчанин
 
Аватар для mixon-21
 
Регистрация: 06.03.2013
Сообщений: 193
По умолчанию

Код:
Image1 := CreateWindow(
'Static',
'' ,
WS_CHILD or SS_BITMAP or WS_VISIBLE,
104, 88, 225, 145, Handle, 0, hInst, nil);

CreateWindow() а у меня CreateWindowEx(),если ставлю CreateWindow()
у меня ошибка.

CreateWindow() можно вписать Static а в CreateWindowEx() подчеркивает
mixon-21 вне форума
Старый 17.11.2013, 21:56   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
у меня ошибка.
Гладиолус. Справа. Внизу. Смотри внимательно.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц