Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ListBox его раскрутка через API. Добавлено: 15.07.06 22:30  

Автор вопроса:  ENIX | ICQ: 238819245 
Пишу один контрольчик...возникли проблемы.
1) Как в стандартном ListBox'e через АПИ включить гориз. скрул...вертикальный есть, а гориз. даже когда строка выдазиет его нету.

2) Либо как выключить гориз. скрул. И тут же как двигать каретку в списке, т.е. создать общий скрул на несколько ListBox'ов.

3) У нас есть строка, которая должна добавляться как новый элемент в ListBox. Но она должна состоять из столбцов разной длины. Как сделать выравнивание. Юзал и переменные с фиксир. длиной - всеравно строки не ровные (непонятно почему), использую vbTab, но получается геморойно т.к. есть предел в длине конрола, использовал SendMessage на ListBox ...вообщем получалось все некрасиво. Есть у кого пример?

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 16.07.06 00:01
sne писал на апи, должно в примерах быть...

Ответить

Номер ответа: 2
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #2 Добавлено: 16.07.06 00:31
Ухти...не именно то, но оно помогло показать горизонтальный скрул.
Может кому еще понадобиться: sne и его примерчик ApiListBox.
Непонятно конечно каким .... мелкософты сделали в этом контроле автомат. показ гориз. скрола и ручное через АПИ вертикального. Уже б сделали оба вручную. Либо я чего не досмотрел.
Кому будет интересно: Изменить и собственно показать гориз. скрул можно так..

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long

Private Const LB_SETHORIZONTALEXTENT As Long = &H194

.......
'[hwnd] - Хандл ЛистБокса
'[Value] - собственно как в скруле
SendMessage [hwnd], LB_SETHORIZONTALEXTENT, [Value], ByVal 0&


Еще много интересного есть начиная с приставки LB_
Также чтобы лучше оринтироваться взял у мелков:

ABM Application desktop toolbar
BM Button control
CB Combo box control
CBEM Extended combo box control
CDM Common dialog box
DBT Device
DL Drag list box
DM Default push button control
DTM Date and time picker control
EM Edit control
HDM Header control
HKM Hot key control
IPM IP address control
LB List box control
LVM List view control
MCM Month calendar control
PBM Progress bar
PGM Pager control
PSM Property sheet
RB Rebar control
SB Status bar window
SBM Scroll bar control
STM Static control
TB Toolbar
TBM Trackbar
TCM Tab control
TTM Tooltip control
TVM Tree-view control
UDM Up-down control
WM General window

Еще для редактирования и выравнивания строк лучше чем вставка vbTab между "столбцами" одной строки не нашол. В ListBox'e для изменения "ширины" Таба есть константа LB_SETTABSTOPS при этом [Value]~20,52 и т.д.

Кто знает более лучший способ выравния "столбцов" в стобце пишите, буду благодарен. Нужно для написания контрола связанного с инфой о процессах.

Ответить

Номер ответа: 3
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #3 Добавлено: 16.07.06 12:05
Нужно для написания контрола связанного с инфой о процессах
хо, а я-то думал!.. А что, ListView уже вышел из моды?

Ответить

Номер ответа: 4
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #4 Добавлено: 16.07.06 17:42
Он та не вышел,нужно просто увеличить его функциональность. И самое главное организовать в нем более одного столбца, что в нем вроде не предусмотрено. Существ. параметр Columns относится к "газутному" типу, поэтому и возникли напряги с форматированием строк. Если знаеш что-то интересное говори, буду благодарен !

Ответить

Номер ответа: 5
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #5 Добавлено: 16.07.06 18:20
И самое главное организовать в нем более одного столбца, что в нем вроде не предусмотрено
изучи-ка как следует контрол ListView

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 16.07.06 19:31
ENIX, ты не прав, ListView как раз предназначен для этого...

Ответить

Номер ответа: 7
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #7 Добавлено: 17.07.06 02:31
Аввв...запутался и вас запутал.
2Sacred Phoenix Говориш о ListView. Скажи мне кое мне нужен в собственном контроле еще один контрол. Если я правильно понимаю используя в своем контроле Microsoft Windows Common Controls 6.0, то его нужно таскать за собой, а это груда много весит. Поэтому я и использую ListBox....а вот там таки и нету возможности организации "многостолбцовости".
На ListView не заезжаю. В контроле есть всё что нужно. А вот List Box храмает или я опять не прав. Поэтому и доделываю List Box, превращая его в ListView. Лано стока разговоров об контроле..не очем разговаривать...просто приятно поговорить о любимом деле с понимающими людьми)))

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 17.07.06 04:50
использую ListBox....а вот там таки и нету возможности организации "многостолбцовости".


веришь? и там есть! :)))

Ответить

Номер ответа: 9
Автор ответа:
 ENIX



ICQ: 238819245 

Вопросов: 9
Ответов: 76
 Профиль | | #9 Добавлено: 17.07.06 13:50
Подскажи если не сложно. А сам искал и в книжке у мну написано, что типа там нельзя цитирую "в Visual Basiс не поддерживаются настоящие многостолбцовые списки Access, в которых различные строки оттображаются в различных стобца... "

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 17.07.06 19:08
ну правельно в книжке написано...

организации "многостолбцовости"

<>
поддерживаются настоящие многостолбцовые списки Access, в которых различные строки оттображаются в различных стобца...


т.е. прям как в LV понятное дело не сделаешь, но просто столбцы можно...

Никогда не думал зачем в List есть свойство Columns? :)

Ответить

Номер ответа: 11
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #11 Добавлено: 17.07.06 19:29
2Sacred Phoenix Говориш о ListView. Скажи мне кое мне нужен в собственном контроле еще один контрол
кой те «контрол в контроле»? ну даже если и так, то чего ты беспокоишься? mscomctl.ocx есть на каждом компе. И из-за этого ты собираешься делать из ListBox'a хз знает что, причём для твоих целей уже есть нормальный контрол.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам