Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Nick4
Зарегистрирован: 15.10.2011 Сообщения: 95
|
Добавлено: Пн Мар 30, 2015 4:12 pm Заголовок сообщения: Вывод двух полей в Listbox |
|
|
Есть два поля в базе. Нужно отобразить их в диалоге и выбрать в Listbox. Как отобразить два поля в диалоге? Если создать строку с двух полей, то из-за разной длинны первого поля, второе плохо читаемое. Если создать два Listbox, то при скроллинге одного из них, второе стоит на месте и происходит сдвиг полей. Посоветуйте что-либо. |
|
Вернуться к началу |
|
|
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 |
|
Вернуться к началу |
|
|
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 |
А если скроллинг делается мышкой без изменения значения? Один список "уедет" а второй останется. |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Вт Мар 31, 2015 1:22 pm Заголовок сообщения: |
|
|
Наверное, такая синхронизация возможна, если использовать Win32 API и отлавливать соответствующие сообщения. |
|
Вернуться к началу |
|
|
|