purebasic.info

PureBasic forum
Текущее время: Пт июл 20, 2018 4:21 am

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




Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 23, 2013 2:57 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
pwd
Если шибко умный, поправь мой код, всем будет хорошо
PS ни каких наездов, просто пива много :D

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб мар 23, 2013 3:24 pm 
Не в сети
доцент

Зарегистрирован: Сб янв 19, 2013 9:48 am
Сообщений: 34
Благодарил (а): 0 раз.
Поблагодарили: 10 раз.
imagelist устанавливают у header (как hdsil_state), а не у listview; и иконки надо добавлять туда


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Ср янв 10, 2018 10:48 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
PureBasic 5.61 (Demo) Пустое окно, в маcсиве данные есть. В 5.31 работает.
Дело в демке ?

Код:
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
71
72
73
74
75
76
77
78
79
80
81
Global Dim Buff.s(100, 1)
 
#LVIF_TEXT = 1
#WM_NOTIFY = 78
#LVN_ODFINDITEM = -179
#LVS_OWNERDATA = 4096
#LVN_GETDISPINFO = -177
#LVN_ODCACHEHINT = -113
#LVM_SETITEMCOUNT = 4143
 
Structure NMHDR
  code.l
  hwndFrom.l
  idFrom.l
EndStructure
 
Structure LVITEM
  cchTextMax.l
  cColumns.l
  iGroup.l
  iGroupId.l
  iImage.l
  iIndent.l
  iItem.l
  iSubItem.l
  lParam.l
  mask.l
  piColFmt.l
  pszText.l
  puColumns.l
  state.l
  stateMask.l
EndStructure
 
Structure NMLVDISPINFO
  hdr.NMHDR
  item.LVITEM
EndStructure
 
Import "user32.lib"
  SendMessage_(hWnd, Msg, wParam, lParam) As "_SendMessageW"
EndImport
 
Procedure WinCallback(hWnd.l, uMsg.l, wParam.l, lParam.l)
  If uMsg <> #WM_NOTIFY
    ProcedureReturn #PB_ProcessPureBasicEvents
  Else
    *nmh.NMHDR = lParam
  EndIf  
 
  If *nmh\code = #LVN_ODCACHEHINT
    ProcedureReturn 0
  EndIf    
 
  If *nmh\code = #LVN_GETDISPINFO
    *nml.NMLVDISPINFO = lParam
    If *nml\item\mask & #LVIF_TEXT
      *nml\item\pszText = @Buff(*nml\item\iItem, *nml\item\iSubItem)
    EndIf
  EndIf
 
  If *nmh\code = #LVN_ODFINDITEM
    ProcedureReturn -1
  EndIf    
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
 
OpenWindow(0, 0, 0, 200, 200, "", #PB_Window_SystemMenu|1)
SetWindowCallback(@WinCallback())
ListIconGadget(0, 0, 0, 200, 200, "0", 70, #LVS_OWNERDATA)
AddGadgetColumn(0, 1, "1", 100)
 
For i= 0 To 99
  Buff(i, 0) = Chr(Random(256))
Next i
SendMessage_(GadgetID(0), #LVM_SETITEMCOUNT, 100, 1)
 
Repeat
  Event.l = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Ср янв 10, 2018 12:14 pm 
Не в сети
док

Зарегистрирован: Сб окт 31, 2009 7:44 am
Сообщений: 158
Благодарил (а): 90 раз.
Поблагодарили: 3 раз.
Пункты репутации: 0
repeat
на полной работает. Если нужна 5.60, то она лежит на руборде.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Ср янв 10, 2018 3:01 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
bizdon писал(а):
на полной работает
Спасибо. За руборд знаю :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Чт янв 11, 2018 3:52 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 629
Благодарил (а): 66 раз.
Поблагодарили: 20 раз.
Пункты репутации: 5
repeat писал(а):
Дело в демке ?

демо не работает с API


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Чт янв 11, 2018 9:50 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
newJS писал(а):
демо не работает с API


Вроде работает :)

Код:
1
2
3
4
5
Import "kernel32.lib"
  Beep_(dwFreq,dwDuration) As "_Beep@8"
EndImport
 
Beep_(300, 300)

Код:
1
2
3
4
5
6
OpenLibrary(0, "kernel32.dll")
*Beep = GetFunction(0, "Beep")
If *Beep
  CallFunctionFast(*Beep, 300, 300)
EndIf
CloseLibrary(0)



А вот #LVN_GETDISPINFO не приходит :?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Пт янв 12, 2018 7:05 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 629
Благодарил (а): 66 раз.
Поблагодарили: 20 раз.
Пункты репутации: 5
repeat писал(а):
Вроде работает

а толку от такой работы? есть конечно, но мало

тебе что то нужно из 560? чего нет в 531?
так ты вроде знаешь где 560


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Пт янв 12, 2018 9:17 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
newJS писал(а):
тебе что то нужно из 560? чего нет в 531?
Ага, лицензию. Нет желания потом разбираться чёй оно не работает. На демку была надежда.
После покупки есть доступ к прежним версиям?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Пт янв 12, 2018 11:31 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11206
Благодарил (а): 4 раз.
Поблагодарили: 421 раз.
repeat писал(а):
Дело в демке ?
Более вероятно что дело в коде. Например
repeat писал(а):
Код:
1
2
3
4
5
Structure NMHDR
  code.l
  hwndFrom.l
  idFrom.l
EndStructure

Должно быть
Код:
1
2
3
4
5
Structure NMHDR
  hwndFrom.i
  idFrom.i
  code.l
EndStructure

Для x64 должно быть также выравнивание структуры.

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Пт янв 12, 2018 11:55 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
Пётр, спасибо!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Вт фев 20, 2018 12:53 am 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
И как тут быть?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
OpenWindow(0, 0, 0, 200, 200, "", #PB_Window_SystemMenu|1)
ListIconGadget(0, 0, 0, 200, 200, "0", 70, #LVS_OWNERDATA)
SetActiveGadget(0)
SendMessage_(GadgetID(0), #LVM_SETITEMCOUNT, 100, 1)
SendMessage_(GadgetID(0), #LVM_ENSUREVISIBLE, 90, 1)
Repeat
  Event.l = WaitWindowEvent()
  For i = 33 To 255
    If GetAsyncKeyState_(i) = -32767
      SendMessage_(GadgetID(0), #LVM_ENSUREVISIBLE, 90, 1)
      Delay (200)
    EndIf
  Next i
Until Event = #PB_Event_CloseWindow
End



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Ср фев 28, 2018 6:18 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
Затестил несколько примеров с разных форумов и везде одно и то же. Такое впечатление что Virtual ListView это подкласс Rich Edit'a и нужно устанавливать каретку в item. :? Может решение элементарное но я его в упор не вижу.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: на тему ListIconGadget
СообщениеДобавлено: Пт мар 02, 2018 10:18 pm 
Не в сети
профессор

Зарегистрирован: Сб фев 06, 2016 6:18 pm
Сообщений: 261
Благодарил (а): 14 раз.
Поблагодарили: 30 раз.
Пункты репутации: 0
Да вот же, из-за этого:
Код:
1
2
Case #LVN_ODFINDITEM
        ProcedureReturn -1

Рисую то в NM_CUSTOMDRAW вот и удалил этот участок (показавшийся на тот момент бесполезным). Ну надо же так :)


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

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


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

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


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

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