www.map-info.ru :: Просмотр темы - Вывод двух полей в Listbox
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Nick4



Зарегистрирован: 15.10.2011
Сообщения: 95

СообщениеДобавлено: Пн Мар 30, 2015 4:12 pm    Заголовок сообщения: Вывод двух полей в Listbox Добавить ответ со ссылкой на данный текст

Есть два поля в базе. Нужно отобразить их в диалоге и выбрать в Listbox. Как отобразить два поля в диалоге? Если создать строку с двух полей, то из-за разной длинны первого поля, второе плохо читаемое. Если создать два Listbox, то при скроллинге одного из них, второе стоит на месте и происходит сдвиг полей. Посоветуйте что-либо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
FedorinoFF



Зарегистрирован: 01.02.2007
Сообщения: 272
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Мар 30, 2015 10:29 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

написать Dll с формой с двухколоночным листбокс или с гридом (таблицей) на любом языке высокого уровня. вызвать диалог из приложения MapBasic.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
thegeo



Зарегистрирован: 17.01.2012
Сообщения: 119

СообщениеДобавлено: Пн Мар 30, 2015 11:32 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Синхронизация двух ListBox

sub tstDi
dim jj as integer
Dialog
Title "test"
Width 248 Height 173
Control ListBox
Id 1
Position 8, 7
Width 108 Height 30
Title From Variable array1
Calling specf1
Value jj
Into jj
Control ListBox
Id 2
Position 133, 7
Width 107 Height 30
Title From Variable array2
Calling specf2
Value jj
Into jj
Control OKButton
Title "OK"
Id 3
Position 189, 151
Width 51 Height 20
If CommandInfo(CMD_INFO_DLG_OK) Then
call ....
End If
End Sub

sub specf1
Alter Control 2 Value ReadControlValue(1)
End Sub

sub specf2
Alter Control 1 Value ReadControlValue(2)
End Sub
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Nick4



Зарегистрирован: 15.10.2011
Сообщения: 95

СообщениеДобавлено: Вт Мар 31, 2015 7:47 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

thegeo писал(а):
Синхронизация двух ListBox

sub tstDi
dim jj as integer
Dialog
Title "test"
Width 248 Height 173
Control ListBox
Id 1
Position 8, 7
Width 108 Height 30
Title From Variable array1
Calling specf1
Value jj
Into jj
Control ListBox
Id 2
Position 133, 7
Width 107 Height 30
Title From Variable array2
Calling specf2
Value jj
Into jj
Control OKButton
Title "OK"
Id 3
Position 189, 151
Width 51 Height 20
If CommandInfo(CMD_INFO_DLG_OK) Then
call ....
End If
End Sub

sub specf1
Alter Control 2 Value ReadControlValue(1)
End Sub

sub specf2
Alter Control 1 Value ReadControlValue(2)
End Sub


А если скроллинг делается мышкой без изменения значения? Один список "уедет" а второй останется.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
thegeo



Зарегистрирован: 17.01.2012
Сообщения: 119

СообщениеДобавлено: Вт Мар 31, 2015 1:22 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Наверное, такая синхронизация возможна, если использовать Win32 API и отлавливать соответствующие сообщения.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru