powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Уменьшить время появления ToolTipText
13 сообщений из 13, страница 1 из 1
Уменьшить время появления ToolTipText
    #40090529
bguo_reminder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Реально ли без танцев сделать сабж ?
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40090531
bguo_reminder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотелось бы сделать чтобы подсказка появлялась моментально
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40090665
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без бубна вряд ли получится. Но всё в наших силах:

TTM_SETDELAYTIME
wParam = (WPARAM) uFlag;
lParam = (LPARAM) (int) iDelay;

The TTM_SETDELAYTIME message sets the initial, reshow, and autopopup durations for a tooltip control.
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092445
bguo_reminder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чет ну никак

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
#define TTM_SETDELAYTIME 0x0403

  DECLARE LONG SendMessage IN user32;   
  	INTEGER hWnd,;   
  	INTEGER Msg,;  
  	INTEGER wParam,;  
  	LONG lParam
        

*TTDT_AUTOPOP = 2	Устанавливает время видимости, пока указатель мыши находится в прямоугольнике окна. Для возвращения времени видимости в значение по умолчанию используйте значение -1
*TTDT_INITIAL = 3	Устанавливает время задержки появления подсказки на экране. Для возвращения времени задержки в значение по умолчанию используйте значение -1
*TTDT_RESHOW = 1	Устанавливает время, необходимое для повторного показа подсказки после перемещения мыши с одного объекта на другой. Для возвращения времени в значение по умолчанию используйте значение -1
*TTDT_AUTOMATIC = 0	Устанавливает все три значения времени в пропорциональные состояния по умолчанию. Приняты следующие пропорции: autopop = 10*initial, reshow = initial/5


SendMessage(thisform.HWnd, TTM_SETDELAYTIME,  3, 10000)
SendMessage(thisform.HWnd, TTM_SETDELAYTIME,  2, 1000)



SCREEN у меня OFF
где туплю ? HWND и со скрина брал, ничего не меняется, подсказки работают по стандарту
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092506
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё раз:

TTM_SETDELAYTIME
wParam = (WPARAM) uFlag;
lParam = (LPARAM) (int) iDelay;

The TTM_SETDELAYTIME message sets the initial, reshow, and autopopup durations for a tooltip control.

HWND - указатель на ToolTip, а не на окно. Как его получить в Фоксе я не знаю, извините...

Вот так на С++ (Power++) я делал многострочный ToolTip:
Код: plaintext
1.
2.
3.
    WToolTip * tooltip = textb_1->GetToolTip();
    tooltip->SendMessage(WMessage(0x418,0,200));
    textb_1->SetToolTipText("Multiline !!!\nThis is simple sample");
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092657
bguo_reminder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
короче тяжелый случай как говорится
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092670
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bguo_reminder, в Фоксе точно тяжелый случай.
Я почитал про свойство ToolTip для Фокса в интернете и
убедился что Фокс есть УГ (извините за грубость, но это медицинский факт)...
В Фоксе стандартный ToolTip убогий и все, кто хочет управляемый, просто рисуют свой.
P.S. Переходите на С++, не пожалеете. Уж в нем-то возможно всё.
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092678
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bguo_reminder
HWND и со скрина брал, ничего не меняется, подсказки работают по стандарту

Судя по примеру d7i 22362795 надо брать HWND контрола (у него textbox), на котором ToolTipText выводится. Фокс его не дает.
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092709
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать получить идентификатор ToolTip через сообщение:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
TTM_GETTOOLINFO 
wParam = 0; 
lParam = (LPARAM) (LPTOOLINFO) lpti; 

The TTM_GETTOOLINFO message retrieves the information that a tooltip control maintains about a tool.

lpti - Pointer to a TOOLINFO structure. When sending the message, the hwnd and uId members identify a tool,
and the cbSize member must specify the size of the structure. 
If the tooltip control includes the tool, the structure receives information about the tool. 

typedef struct {  // ti 
    UINT      cbSize; 
    UINT      uFlags; 
    HWND      hwnd; 
    UINT      uId; 
    RECT      rect; 
    HINSTANCE hinst; 
    LPTSTR     lpszText; 
} TOOLINFO, NEAR *PTOOLINFO, FAR *LPTOOLINFO; 

uId - Application-defined identifier of the tool. 
If uFlags includes the TTF_IDISHWND value, uId must specify the window handle to the tool. 



Т.е. посылаем окну с ToolTip сообщение TTM_GETTOOLINFO и получаем структуру TOOLINFO.
Берем из неё uId и ему посылаем сообщение TTM_SETDELAYTIME.

Можно попробовать и если uId будет не NULL всё должно получиться... :-)
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092726
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7i
Можно попробовать получить идентификатор ToolTip через сообщение:
Благородные доны, похоже, совсем не в курсе того, в фоксе контролы являются рисованными картинками и они ни разу не виндовые окна. Со всеми вытекающими из этого последствиями.
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40092737
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov
Благородные доны, похоже, совсем не в курсе того, в фоксе контролы являются рисованными картинками и они ни разу не виндовые окна. Со всеми вытекающими из этого последствиями.

Ну раз Фокс такой рисовальщик (ну и УГ...), остается один путь - рисовать ToolTip самолично и издеваться над ним со всей изощренностью...
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40095380
of63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
d7i,
Почему сразу 'УГ'? На фоксе можно делать так
x = "SQRT(y)"
y = 4
x = &x
Получится x = 2
...
Рейтинг: 0 / 0
Уменьшить время появления ToolTipText
    #40095679
Людмila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помниться, что-то правила в конфигурационном файле.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Уменьшить время появления ToolTipText
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]