Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
3 / 3 / 1
Регистрация: 08.10.2011
Сообщений: 73
1

HWND

08.04.2013, 09:41. Показов 1588. Ответов 5
Метки нет (Все метки)

Доброго времени суток, извините за такой тупой вопрос, но.... объявляю функцию
C++
1
2
3
4
5
6
7
8
9
10
void draw(HWND hwnd)
{
    PAINTSTRUCT ps;
    
    system("cls");
    HDC hdc = GetDC(hwnd); 
        MoveToEx(hdc, 20, 20, NULL);
        LineTo(hdc, 200, 100);
        ReleaseDC(hwnd, hdc); 
};
я не могу понять, что мне нужно передавать как аргумент вместо этого hwnd, когда я ее вызываю в главной функции?!?! я понимаю, что это дескриптор окна, но я использую обыкновенное консольное приложение без всяких там регистраций классов и окон. у меня оно просто одно. Или нужно обязательно создавать проект как вин32 и оставлять эту кучу (для меня) мусора?

Цель сея извращения - всего лишь нарисовать пару линий и точек... может можно это сделать более нормальным путем? использую VS2012
через OpenGL это не быстрее будет?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2013, 09:41
Ответы с готовыми решениями:

Для чего служит первый параметр (HWND hWnd) в функции WndProc?
// функция обработки сообщений LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM...

Окно на WinAPI, параметр функции WndProc (HWND hWnd,.)
Пытаюсь понять какое значение хранит первый параметр HWND hWnd в функции WndProc. В Windows в...

Почему переменная HWND hwnd объявлена дважды?
Один раз в функции WinMain: int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,...

Найти HWND окна, зная HWND окна, породившего его
Здравствуйте! Имеется основное окно "А". Это окно создаёт новое недочернее окно "Б". Необходимо...

5
Don't worry, be happy
17046 / 9935 / 1914
Регистрация: 27.09.2012
Сообщений: 24,673
Записей в блоге: 1
08.04.2013, 10:42 2
GetConsoleWindow() вернет дескриптор(HWND) консольного окна
0
Brainsbreaker
895 / 372 / 51
Регистрация: 01.02.2011
Сообщений: 1,590
08.04.2013, 11:04 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void draw(HWND hWnd = GetConsoleWindow())
{
    system("cls");
    HPEN hPen;
    HGDIOBJ hOldPen;
 
    HDC hDC = GetDC (hWnd);
    hPen = CreatePen (PS_SOLID, 2, RGB(255, 255, 0));
    hOldPen = (HPEN)SelectObject (hDC, hPen);
    MoveToEx (hDC, 20, 20, NULL);
    LineTo (hDC, 200, 100);
    DeleteObject (hPen);
    ReleaseDC (hWnd, hDC); 
}
0
3 / 3 / 1
Регистрация: 08.10.2011
Сообщений: 73
08.04.2013, 14:06  [ТС] 4
отлично=))) спасибо=)))) все получается теперь=)))))))
0
zelim
09.04.2013, 17:12
  #5

Не по теме:

Не лучше объявить как

C++
1
void draw(void);
А в теле функции уже вызвать
C++
1
HWND hWnd = GetConsoleWindow();

0
3 / 3 / 1
Регистрация: 08.10.2011
Сообщений: 73
09.04.2013, 21:54  [ТС] 6
Цитата Сообщение от zelim Посмотреть сообщение

Не по теме:

Не лучше объявить как

C++
1
void draw(void);
А в теле функции уже вызвать
C++
1
HWND hWnd = GetConsoleWindow();

а какая разница так то? все равно идет аргумент по дефолту
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2013, 21:54

Помощь в написании контрольных, курсовых и дипломных работ здесь.

hwnd = 0x00000000
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {...

DECLARE_HANDLE (HWND);
Почему так странно объявлен тип HWND? Может кто прокомментировать эти строки: //winnt.h #define...

HWND в double
Всем привет! Сразу скажу, что плохо в этом разбираюсь, поэтому не ругайтесь. У меня есть...

Найти HWND
Господа вопрос такой - делаю "универсальную" dll для внедрение в приложение , но вот проблема т.к....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.