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

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
21.08.2021, 21:56
    #40092445
bguo_reminder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
чет ну никак

Код: 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
22.08.2021, 14:39
    #40092506
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
Ещё раз:

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
23.08.2021, 13:06
    #40092657
bguo_reminder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
короче тяжелый случай как говорится
...
Рейтинг: 0 / 0
23.08.2021, 13:51
    #40092670
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
bguo_reminder, в Фоксе точно тяжелый случай.
Я почитал про свойство ToolTip для Фокса в интернете и
убедился что Фокс есть УГ (извините за грубость, но это медицинский факт)...
В Фоксе стандартный ToolTip убогий и все, кто хочет управляемый, просто рисуют свой.
P.S. Переходите на С++, не пожалеете. Уж в нем-то возможно всё.
...
Рейтинг: 0 / 0
23.08.2021, 14:01
    #40092678
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
bguo_reminder
HWND и со скрина брал, ничего не меняется, подсказки работают по стандарту

Судя по примеру d7i 22362795 надо брать HWND контрола (у него textbox), на котором ToolTipText выводится. Фокс его не дает.
...
Рейтинг: 0 / 0
23.08.2021, 15:32
    #40092709
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
Можно попробовать получить идентификатор 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
23.08.2021, 16:26
    #40092726
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
d7i
Можно попробовать получить идентификатор ToolTip через сообщение:
Благородные доны, похоже, совсем не в курсе того, в фоксе контролы являются рисованными картинками и они ни разу не виндовые окна. Со всеми вытекающими из этого последствиями.
...
Рейтинг: 0 / 0
23.08.2021, 16:54
    #40092737
d7i
d7i
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уменьшить время появления ToolTipText
Sergey Sizov
Благородные доны, похоже, совсем не в курсе того, в фоксе контролы являются рисованными картинками и они ни разу не виндовые окна. Со всеми вытекающими из этого последствиями.

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


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