purebasic.info

PureBasic forum
Текущее время: Вт ноя 13, 2018 7:57 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Пт авг 31, 2018 12:27 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 230
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
Беру пример из справки, вставляю перенос строки, подсказка обрезается до переноса строки
Код:
1
2
3
4
5
If OpenWindow(0, 0, 0, 270, 100, "Всплывающая подсказка", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ButtonGadget(0, 10, 30, 250, 30, "Кнопка со всплывающей подсказкой")
    GadgetToolTip(0, "Подсказка" + #CRLF$ + "для кнопки")
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf



Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт авг 31, 2018 1:35 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6397
Благодарил (а): 20 раз.
Поблагодарили: 200 раз.
Пункты репутации: 52
Так просто это не работает.
Вот так работает
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Global NewMap hToolTips.l()
 
Procedure AddGadgetToolTip(GadgetID.l, ToolText$, MaxWidth.l = 0, Balloon.l = 1, WindowID.l = -1)
  Protected cWndFlags.l = #TTS_NOPREFIX | #TTS_BALLOON
 
  If WindowID = -1 And IsGadget(GadgetID) ; Allow, to enter either the PB-#Gadget or a Gadget-ID
    GadgetID = GadgetID(GadgetID)
   
    If hToolTips(Str(GadgetID)) <> 0 : DestroyWindow_(hToolTips(Str(GadgetID))) : EndIf
   
  ElseIf WindowID > -1 And IsWindow(WindowID)
    WindowID = WindowID(WindowID)
  EndIf
 
  ;--> Remove the #TTS_BALLOON flag if you want the rectangular Tooltip, according to Balloon variable.
  If Balloon = 0 : cWndFlags = #TTS_NOPREFIX : EndIf
   
  hToolTip = CreateWindowEx_(0, "ToolTips_Class32", "", cWndFlags, 0, 0, 0, 0, 0, 0, GetModuleHandle_(0), 0)
 
  hToolTips(Str(GadgetID)) = hToolTip
 
  SendMessage_(hToolTip, #TTM_SETTIPTEXTCOLOR, GetSysColor_(#COLOR_INFOTEXT), 0)
  SendMessage_(hToolTip, #TTM_SETTIPBKCOLOR, GetSysColor_(#COLOR_INFOBK), 0)
  tti.TOOLINFO\cbSize = SizeOf(TOOLINFO)
  tti\uFlags = #TTF_SUBCLASS | #TTF_IDISHWND
  ;--> Here's where the multiline comes into play by setting the maxWidth
  SendMessage_(hToolTip, #TTM_SETMAXTIPWIDTH, 0, MaxWidth)
 
  tti\hWnd = GadgetID
  tti\uId = GadgetID
  tti\hinst = 0
  tti\lpszText = @Tooltext$
 
  If WindowID <> -1
    tti\hWnd = WindowID
    tti\uFlags = #TTF_SUBCLASS
    GetClientRect_(WindowID, @tti\rect)
  EndIf
   
  SendMessage_(hToolTip, #TTM_ADDTOOL, 0, tti)
 
  SendMessage_(hToolTip, #TTM_SETDELAYTIME, #TTDT_AUTOPOP, 15000)
  SendMessage_(hToolTip, #TTM_UPDATE , 0, 0)
EndProcedure
 
Text.s = "The quick brown fox jumps over the lazy dog. Ein Neger mit Gazelle zagt im Regen nie."
Text1.s = "Removed ToolTip Balloon style popup."
CRText.s = "The quick brown fox jumps" + #CRLF$ + "over the lazy dog." + #CRLF$ + "Ein Neger" + #CRLF$ + "mit Gazelle zagt im Regen nie."
 
If OpenWindow(0,0,0,300,145,"MultiLine ToolTips", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 
  ButtonGadget(0,10,15,280,20,"Long single lined ToolTip")
  ButtonGadget(1,10,40,280,20,"Long auto-wordwrap ToolTip")
  ButtonGadget(2,10,65,280,20,"Short auto-wordwrap ToolTip")
  ButtonGadget(3,10,90,280,20,"ToolTip with #CRLF wordwrap")
  ButtonGadget(4,10,115,280,20,"ToolTip w/Balloon style popup removed.")
 
  AddGadgetToolTip(-1, "I'm a Window, and I'm proud To have my own TooltTip.   :-)", 0, 1, 0)
 
  AddGadgetToolTip(GadgetID(0), Text)
  AddGadgetToolTip(1, Text, 300)
  AddGadgetToolTip(2, Text, 100)
  AddGadgetToolTip(3, CRText, 300)
  AddGadgetToolTip(4, Text1, 400, 0)
  ;AddGadgetToolTip(4, "Cooly", 400) ; Updating Gadget ToolTip text.
 
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf



https://www.purebasic.fr/english/viewtopic.php?t=14482

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс сен 02, 2018 5:56 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 692
Благодарил (а): 75 раз.
Поблагодарили: 20 раз.
Пункты репутации: 5
ещё вариант
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Procedure BalloonTip(WindowID, Gadget, Text$, Title$, Icon)
ToolTip=CreateWindowEx_(0, "ToolTips_Class32", "", #WS_POPUP|#TTS_NOPREFIX|
#TTS_BALLOON, 0, 0, 0, 0, WindowID, 0, GetModuleHandle_(0), 0)
SendMessage_(ToolTip,#TTM_SETTIPTEXTCOLOR,GetSysColor_(#COLOR_INFOTEXT), 0)
SendMessage_(ToolTip,#TTM_SETTIPBKCOLOR,GetSysColor_(#COLOR_INFOBK), 0)
SendMessage_(ToolTip,#TTM_SETMAXTIPWIDTH, 0, 180)
Ball\cbSize=SizeOf(TOOLINFO)
Ball\uFlags=#TTF_IDISHWND|#TTF_SUBCLASS
Ball\hWnd=GadgetID(Gadget)
Ball\uId=GadgetID(Gadget)
Ball\lpszText=@Text$
SendMessage_(ToolTip, #TTM_ADDTOOL, 0, Ball)
If Title$ > ""
SendMessage_(ToolTip, #TTM_SETTITLE, Icon, @Title$)
EndIf
EndProcedure




перенос есть в трее, но там ограничено 64 символами, причём перенос строки входит в эти 64 символа
это стандартная подсказка, но с такими ограничениями


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Bing [Bot] и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB