Заметил такую особенность или фичу?
Основное меню программы создаётся на основной форме при запуске в run-time. Установка кодировки строк для его заголовком в UTF8 из cp1251 даёт крокозябры.
У всех так или я ошибаюсь?
Win 7 все.
Lazarus все версии.
Модератор: Модераторы
Form1.Caption:=UTF8ToSys(MyFile)+' LexEditor';
Function BaseToInterface(S: String): String;
Begin
If UTF8Base then
Result:=ConvertEncoding(S, GPT.ServerCodePage, DefaultSystemEncoding) // AnsiToUTF8(S)
Else
Result:=S;
End;
procedure AddSubItem(Caption, ItemName: String; ToMenu: Integer);
Begin
If ToMenu<> - 1 then
Begin
FormData[CurrentForm].ToItem:=FormData[CurrentForm].Mainmenu.Items[ToMenu];
FormData[CurrentForm].ItemMenu:=TMenuItem.Create(FormData[CurrentForm].ToItem);
FormData[CurrentForm].ItemMenu.Name:=ItemName;
FormData[CurrentForm].ItemMenu.Caption:=BaseToInterface(Caption);
FormData[CurrentForm].ItemMenu.OnClick:=MenuAction.ClickMenu;
FormData[CurrentForm].ToItem.OnClick:=nil;
FormData[CurrentForm].ToItem.Insert(FormData[CurrentForm].ToItem.Count,
FormData[CurrentForm].ItemMenu);
End;
End;
Begin
GPT.ServerCodePage:='cp1251';
DefaultSystemEncoding:=GetDefaultTextEncoding;
End.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 223