purebasic.info

PureBasic forum
Текущее время: Пн апр 06, 2020 4:58 pm

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Вт сен 27, 2011 2:19 pm 
Не в сети
док

Зарегистрирован: Вс сен 04, 2011 2:32 pm
Сообщений: 82
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
В ListIconGadget трудно записать большой текст(переносить на другую строчку не удобно), как реализовать что бы при наведении на нужную строчку(там где текст отображается не полностью) всплывало бы окошко с полным текстом. Спасибо!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 27, 2011 2:37 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11610
Благодарил (а): 4 раз.
Поблагодарили: 494 раз.
Недавно уже обсуждали.
Код:
1
2
3
4
5
6
7
8
9
10
If OpenWindow(0, 100, 100, 300, 100, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  hListView=ListIconGadget(0, 5, 5, 290, 90, "Name", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
  SendMessage_(hListView, #LVM_SETEXTENDEDLISTVIEWSTYLE, #LVS_EX_LABELTIP, #LVS_EX_LABELTIP)  
  AddGadgetColumn(0, 1, "Address", 250)
  AddGadgetItem(0, -1, "Harry Rannityt6rytrytrytrytrytr"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
  AddGadgetItem(0, -1, "Ginger Brokeit54354354354354"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт июн 15, 2018 10:59 am 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 262
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Есть проблема: в хинте текст слишком длинный. можно ли как-нибудь сократить размеры хинта?

_________________
Захотелось мартышки любви со слоном, тут она и лопнула


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт июн 15, 2018 1:51 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 262
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
разобрался, взял код от Balloon:
Код:
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
 
;***********************************************************************************
#LPSTR_TEXTCALLBACKA = -1
Procedure myWindowCallback(hWnd, msg, wParam, lParam)
 ;--> ttText$ must be a private buffer
  Static ttText$
  result = #PB_ProcessPureBasicEvents
  Select msg
    Case #WM_NOTIFY
      *pnmhdr.NMHDR = lParam
      ;--> Tooltip is requesting information
      If *pnmhdr\code = #TTN_GETDISPINFO
        *dispInfo.NMTTDISPINFO = lParam
        ;--> Select Tooltip id then display appropriate text
        Select *dispInfo\hdr\idFrom
          Case GadgetID(#lien)
            ;pt.POINT
            ;GetCursorPos_(@pt)
;             lvht.LV_HITTESTINFO
;             lvht\pt\x=GadgetX(#lien,#PB_Gadget_WindowCoordinate)
;             lvht\pt\y=GadgetY(#lien,#PB_Gadget_WindowCoordinate)
;             lvht\flags=#LVHT_NOWHERE
;             ;lItemIndex = SendMessage(ListView1.hwnd, LVM_HITTEST, 0, lvhti) + 1
;             ii.l=SendMessage_(GadgetID(#lien),#LVM_HITTEST,0,@lvht)
;             jj=lvht\iitem
;             Debug jj
            lv.l=GadgetID(#lien)
      lvi.lvhittestinfo
      GetCursorPos_(@lvi\pt)
      GetWindowRect_(lv,@lvpos.rect)
      lvi\pt\x-lvpos\left
      lvi\pt\y-lvpos\top
      SendMessage_(lv, #LVM_HITTEST, 0, @lvi)
      edititem = lvi\iitem
      ;Debug edititem
      ttText$ = GetGadgetItemText(#lien,edititem,1)
           
            ;ttText$ = "From 'elite'. This has become a term used To describe the informal communication of Internet gaming. L33t speak is easily identified by the substitution of number And other characters For regular letters; e.g., hackers becomes h4XX0rz."
            *dispInfo\lpszText = @ttText$
            result = 0
        EndSelect
      EndIf
  EndSelect
  ProcedureReturn result
EndProcedure
 
Procedure AddTooltip(windowID, Gadget, maxW)
  ;--> Remove the #TTS_BALLOON flag in the next line if you want the rectangular Tooltip
  hToolTip = CreateWindowEx_(0, "ToolTips_Class32", "", #TTS_NOPREFIX | #TTS_BALLOON, 0, 0, 0, 0, 0, 0, GetModuleHandle_(0), 0)
  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, maxW)
  tti\hWnd = WindowID(0)
  tti\uId = GadgetID(Gadget)
  tti\hinst = 0
  tti\lpszText = #LPSTR_TEXTCALLBACKA
  SendMessage_(hToolTip, #TTM_ADDTOOL, 0, tti)
  SendMessage_(hToolTip, #TTM_SETDELAYTIME, #TTDT_AUTOPOP, 15000)
  SendMessage_(hToolTip, #TTM_UPDATE , 0, 0)
EndProcedure
 
;***********************************************************************************
 



при создании окна вызвать
Код:
1
2
3
4
 
SetWindowCallback(@myWindowCallback())
AddTooltip(WindowID(0), #lien, 300 ; #lien - ListIcon
 



Только хинт долго держится(

_________________
Захотелось мартышки любви со слоном, тут она и лопнула


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

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