Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
nadyush-princes
2 / 2 / 1
Регистрация: 08.10.2011
Сообщений: 73
1

HWND

08.04.2013, 09:41. Просмотров 1131. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2013, 09:41
Ответы с готовыми решениями:

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

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

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

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

робота с HWND
всем привет! допустим, у меня есть некий дескриптор и мне нужно записать его...

5
Croessmah
++Ͻ
14756 / 8434 / 1601
Регистрация: 27.09.2012
Сообщений: 20,735
Записей в блоге: 3
Завершенные тесты: 1
08.04.2013, 10:42 2
GetConsoleWindow() вернет дескриптор(HWND) консольного окна
0
Digit@ll
Brainsbreaker
888 / 366 / 51
Регистрация: 01.02.2011
Сообщений: 1,586
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
nadyush-princes
2 / 2 / 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
nadyush-princes
2 / 2 / 1
Регистрация: 08.10.2011
Сообщений: 73
09.04.2013, 21:54  [ТС] 6
Цитата Сообщение от zelim Посмотреть сообщение

Не по теме:

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

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

а какая разница так то? все равно идет аргумент по дефолту
0
09.04.2013, 21:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2013, 21:54

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

hwnd = 0x00000000
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR...

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


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

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

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