Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: получить высоту заголовка и толщину бордеров окна Добавлено: 13.10.06 16:49  

Автор вопроса:  Fever

Ответить

  Ответы Всего ответов: 27  

Номер ответа: 16
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #16 Добавлено: 17.10.06 17:05
Мда, с таймаутами тута проблемка. Или у меня с диалапом? :) Короче, моя библа классов обогатилась лишним итемом для GUI. Кому надо - обращайтесь.

Ответить

Номер ответа: 17
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #17 Добавлено: 17.10.06 17:10
Обоссака :))
Про ScreenToClient, ClientToScreen и MapWindowPoints слышал?

Ответить

Номер ответа: 18
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #18 Добавлено: 17.10.06 17:29
ScreenToClient, ClientToScreen и MapWindowPoints слышал?

С полной уверенностью, в здравом уме и больной памяти говорю : НЕТ. Так что это? Токо не надо посылать в MSDN, этот MSовский тупарь мне разбирать не хочется.

Ответить

Номер ответа: 19
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #19 Добавлено: 17.10.06 17:32
Зайду вечерком.

Ответить

Номер ответа: 20
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #20 Добавлено: 17.10.06 18:04
ScreenToClient
The ScreenToClient function converts the screen coordinates of a specified point on the screen to client-area coordinates.

ClientToScreen
The ClientToScreen function converts the client-area coordinates of a specified point to screen coordinates.

MapWindowPoints
The MapWindowPoints function converts (maps) a set of points from a coordinate space relative to one window to a coordinate space relative to another window.

Ответить

Номер ответа: 21
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #21
Добавлено: 17.10.06 18:43
2LamerOnLine
Ты вообще msdn читаешь? Если хочешь изобретать, изобретай, но мля, людей путать если сам нифига не читаешь документации не надо. Бага твоего метода - если в винде будет внесено изменение и к клиентской области будут относить какую-нибудь полоску под тайтлом угадай, чем это обернётся. Ещё раз повторю - если сам не хочешь делать полагается, не утверждай, что твой способ лучше, чем написали в microsoft

typedef struct {
    ;DWORD cbSize;
    RECT rcTitleBar;
    ;DWORD rgstate[CCHILDREN_TITLEBAR+1];
} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;

rcTitleBar
Pointer to a RECT structure that receives the coordinates of the title bar. These coordinates include all title-bar elements except the window menu.

Ответить

Номер ответа: 22
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #22
Добавлено: 17.10.06 18:48
Если ты именно про бордер, то расскажи, как это твой метод его считает?

Ответить

Номер ответа: 23
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #23 Добавлено: 17.10.06 19:01
2Ra$cal Ну не строй ты из себя умника, пжалуйста. MSDN у меня есть, читать я умею и не пишу ответы пока не проверю их по документации.
Бага твоего метода - если в винде будет внесено изменение и к клиентской области будут относить какую-нибудь полоску под тайтлом

Бгаааа... А если еще и окна станут круглыми - ууу... Страшно подумать.
Я не утверждаю что мой способ лучше, я утверждаю что он, в отличие от приведенного тобой, соответствует сути проблемы. Ибо тайтлбар - лишь половина вопроса. Была бы речь лишь про него - вопросов бы не было.
Если ты именно про бордер, то расскажи, как это твой метод его считает?

Тебе на пальцах объяснять все надо?
Имеем размер окна, имеем размер клиентской области. Они не совпадают. На какую величину? Прально, на ширину бордера x2 по ширине и то же плюс тайтл по высоте. Конечно, когда к неклиентской области будет относится что-то еще - разговор будет другим. А пока, надеюсь, понятно?
Завязывай флуд, ибо уже очевидно что аффтару нужно было совсем другое, и тему он сформулировал не о том.

Ответить

Номер ответа: 24
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #24
Добавлено: 17.10.06 20:11
2LamerOnLine:
Я не утверждаю что мой способ лучше, я утверждаю что он, в отличие от приведенного тобой, соответствует сути проблемы.

Как это??? TITLEBARINFO - точное описание тайтла. Что именно не соответствует проблеме???

Ответить

Номер ответа: 25
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #25 Добавлено: 18.10.06 10:57
Ужоснах!
Вопрос:
как получить высоту заголовка и толщину бордеров окна?

Пост 13:
Еще раз скажи - где в структуре TITLEBARINFO толщина бордера?

Пост 15:
Короче такая нетривиальная задачка: дан HWND и абсолютные координаты курсора. Надо найти относительные координаты курсора в пикселях.

Посто 23:
Ибо тайтлбар - лишь половина вопроса. Была бы речь лишь про него - вопросов бы не было.

Ну сколько раз надо повторить чтобы ты понял смысл вопроса? Скажи сразу, а то может это вообще дело глухое...
Повторюсь - наш с тобой флуд надо завязывать, поскольку к теме он имеет очень касательное отношение. Аффтар решил преобразовать экранные координаты в координаты окна, что называется, через задницу, хотя это делается одной апишкой.
Тему считаю исчерпаной.

Ответить

Номер ответа: 26
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #26
Добавлено: 18.10.06 15:00
Мля, ты меня убиваешь. Проблема из двух частей
как получить высоту заголовка

и
толщину бордеров окна

Это
Короче такая нетривиальная задачка: дан HWND и абсолютные координаты курсора. Надо найти относительные координаты курсора в пикселях.

конечно автор отжёг. Но на первую часть вопроса ответ точный. а эту да, ScreenToClient.
По-моему все ответы соответствуют проблеме. Усё. Фильтруем. Более я не отвечаю

Ответить

Номер ответа: 27
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #27
Добавлено: 18.10.06 15:17
Ну и флуд. LoL в самом начале дал правильный ответ, о чем ещё можно рассуждать. Админы, закрывайте тему (можно грохнуть и этот пост)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам