Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Убрать кнопку "?"


Автор: KOЯN 23.1.2004, 21:18
Здравствуйте, программеры!

Мне нужно убрать кнопку с вопросительным знаком ("?") в заголовке блокнота - TPropSheetPage. Сердце мне подсказывает, что это невозможно, но кто знает... Жду Ваших советов.

Автор: Pakshin A. S. 23.1.2004, 21:30
Компонент этот не встречал, это из какой версии?

А вообще в свойствах всё должно быть, если нет, то можно закрыть непрозрачным Label'ом или чемэто в этом роде...

Автор: KOЯN 23.1.2004, 21:45
Это не VCL, а WIN32API.

Автор: Pakshin A. S. 23.1.2004, 21:55
Ууу... С этим не сталкивался.
Очень буду благодарен, если опишете это чудо biggrin.gif. Может додумаю, что надо делать...

Автор: p0s0l 24.1.2004, 17:39
Может ты в TPropSheetPage.dwFlags поставил PSP_HASHELP ?
Цитата
PSP_HASHELP
Enables the property sheet Help button when the page is active.

Но, наверное, это лишь отключает кнопку, но не скрывает.

Тогда тебе придется вручную изменить стиль этого PropertyPage'а так, чтобы не было стиля WS_EX_CONTEXTHELP (SetWindowLong (hwnd, GWL_EXSTYLE, OldStyle - WS_EX_CONTEXTHELP)). Handle окна, по-моему, тебе должен быть известен...
Таким макаром можно убрать вопрос из Свойств Экрана:
Цитата
var
  h : THandle;
  s : cardinal;
begin
  h := FindWindow (nil, 'Display Properties');
  s := GetWindowLong (h, GWL_EXSTYLE);
  SetWindowLong (h, GWL_EXSTYLE, s - WS_EX_CONTEXTHELP);
end;

Хотя всё это мои домыслы, т.к. никогда не работал с Property-Sheet'ами. Но попробовать стоит.
Pakshin A. S.
Цитата
Очень буду благодарен, если опишете это чудо
Зайди в свойства экрана - вот пример этого проперти-шит-пейджа. Там справа вверху рядом с крестиком есть знак вопроса, видимо этот знак вопроса мешает КОЯN'у.

Автор: KOЯN 28.1.2004, 17:05
Я нашел более эффективное и простое решение:

Код
const
 PSH_NOCONTEXTHELP = $02000000;

.....................

var
psh   : TPropSheetHeader;

.....................

 // create the Property sheet
 psh.dwFlags           := PSH_DEFAULT or PSH_PROPTITLE or
   PSH_NOCONTEXTHELP or PSH_USEICONID or PSH_NOAPPLYNOW;


Всем спасибо за участие в обсуждении!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)