Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Отображение греческих букв в элементе ListView Добавлено: 24.03.04 14:02  

Автор вопроса:  avkiev | ICQ: 226072 

Уважаемые, такая вот проблема:

одному из элементов ListView пытаюсь присвоить греческую букву Омега таким образом:

          Set lfs = lf.ListSubItems.Add(, , ChrW(&H3A9))

          с = AscW(lf.ListSubItems(5))

Переменная с получает значение 3F, то есть вопросительный знак. Русские и прибалтийские поддиапазоны юникода записываются нормально, а вот греческий - ни в какую.

Греческий язык в системе установлен.

Подскажите, плиз, что тут можно сделать ?

Ответить

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

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



ICQ: 226072 

Вопросов: 48
Ответов: 107
 Профиль | | #1 Добавлено: 24.03.04 18:42

У меня большое подозрение, что стандартный ListView не поддерживает Юникод.

Так ли это ?

Если да - какой контрол можно посоветовать взамен ?

Ответить

Номер ответа: 2
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #2
Добавлено: 28.03.04 16:28

В ApiViewer 2003 есть сообщение и для Анси и для Юникода.

Private Const LVM_SETITEMTEXTA = (LVM_FIRST + 46)

Private Const LVM_SETITEMTEXTW = (LVM_FIRST + 116)

Попробуй послать ему второе.

Ответить

Номер ответа: 3
Автор ответа:
 avkiev



ICQ: 226072 

Вопросов: 48
Ответов: 107
 Профиль | | #3 Добавлено: 29.03.04 16:19

А чему равно LVM_FIRST ? Что то я его не нашел...

Приведи пример полностью, если не сложно.

Я делаю так: SendMessage List.hwnd, 116, 0, 0

Ничего не меняется ... :(

Ответить

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



ICQ: 226072 

Вопросов: 48
Ответов: 107
 Профиль | | #4 Добавлено: 29.03.04 16:44

Нашел, что LVM_FIRST =&h1000

Делаю так:

SendMessage List.hwnd, &h1000+116, 0, 0

  For i = &H380 To &H430
    Set lf = List.ListItems.Add(, , Hex(i))
    Set lfs = lf.ListSubItems.Add(, , ChrW(i))
  Next i

Русские буквы водятся нормально, а греческие - ни в какую... :(

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 30.03.04 01:50

Интересная вещь: в API Viewer нет LVM_SETITEMTEXT, а в MSDN его с A и W :)

Но ты шлешь сообщение абсолютно неправильно - нет параметров. О параметрах можно прочитать в MSDN:

LVM_SETITEMTEXT Message

--------------------------------------------------------------------------------

Changes the text of a list-view item or subitem. You can send this message explicitly or by using the ListView_SetItemText macro.

Syntax

To send this message, call the SendMessage function as follows.

lResult = SendMessage( // returns LRESULT in lResult (HWND) hWndControl, // handle to destination control (UINT) LVM_SETITEMTEXT, // message ID (WPARAM) wParam, // = (WPARAM) (int) i; (LPARAM) lParam // = (LPARAM) (LPLVITEM) pitem; );

Parameters

i

Index of the list-view item.

pitem

Pointer to an LVITEM structure. The iSubItem member is the index of the subitem, or it can be zero to set the item label. The pszText member is the address of a null-terminated string containing the new text; it can also be NULL. The pszText member can also be LPSTR_TEXTCALLBACK to indicate a callback item for which the parent window stores the text. In this case, the list-view control sends the parent an LVN_GETDISPINFO notification message when it needs the text.

Return Value

If you send this message explicitly, it returns TRUE if successful or FALSE otherwise.

Message Information

Header commctrl.h

Minimum operating systems Windows NT 3.51, Windows 95

Ответить

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



ICQ: 226072 

Вопросов: 48
Ответов: 107
 Профиль | | #6 Добавлено: 30.03.04 14:28

Спасибо большое, но все равно ничего не получается.

Подскажите, пожалуйста, как решить такую задачу:

нужно создать ListView с двумя колонками. В первой - строки от 380 до 42F (16-ричные), во второй - их символьное представление (греческие и русские буквы, юникод).

Ответить

Страница: 1 |

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



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