![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Menu & OpenDialog runTime [D6, D7, WinXP]
Pa5ha © (2005-04-14 13:11:00)Вроед спрашивал, но так вроде никто ничего и не ответил. Спрошу ка ещё раз.
Надо сделать менюху на апи, и при щелчке на Открыть и Сохранить вызывать соответствующие диалоги. Как такое реализовать? Ресурсы не предлагать. Хочу руками.
И как поменять шрифт на статиктекстах, кнопках?
Поможете, буду писать на чистом АПИ, а то VCL не рулит. =)
GrayFace (2005-05-01 06:05:00) [1]Массив тут не при чем
1) PChar - это указатель на последовательность символов, которая заканчивается #0. string - это то же самое, только перед последовательностью символов есть счетчик ссылок и длина. Поэтому везде, где нужен PChar используй PChar(string).
2) Добавлять текст в Edit - это WM_GetText, добавление нужного текста и WM_SetText.
3) см. исходники.
4) Рановато ты решил на чистом АПИ писать. И, вообще, зачем? Неужто, размер программ так важен?
Pa5ha (2005-04-19 00:05:00) [2]Не. Я наверно тупой. Можно ещё раз и помедленнее?
1. т.е. массив мне придется ресайзить походу. Так?
2. изголяться и добавлять туда символ любым способом, какой я только смогу придумать.
3. Кстати, массив надо объявить глобально?
4. strpCopy скопирует, сама отресайзит массив?
5. Чот ваще не понял.
6. и Теперь самый главный вопрос. Как юзается pChar =)? Т.е. при SetWindowText текст резервирует? Выводит вроде до нуля.
В первых двух байтах храниться размер строки или нет?
Блин, вот такая у меня каша в голове. А надо всего лишь написать аналог memo.lines.add дляhEdit:= CreateWindow('edit', MyTextDef,
ES_LEFT or ES_READONLY or ES_MULTILINE or
ES_AUTOVSCROLL or ES_AUTOHSCROLL or
ES_WANTRETURN or WS_CHILD or WS_VISIBLE or
WS_BORDER or WS_MAXIMIZE or WS_VSCROLL or WS_HSCROLL,// or WS_TABSTOP,
0, 0, 0, 0, hMainWnd, 0, hInstance, nil);
alpet (2005-04-18 12:42:00) [3]1. Задать свойство контролу ES_MULTILINE.
2. Добавить строки разделеные символами CRLF (#13#10), типа
'str1'#13#10'str2'#13#10.
3.
var s: string; p: array of char;
begin
s := 'test';
strPCopy (p, s); // to AnsiChar
s := p; // to string
OutputDebugString (PChar (s)); // to PAnsiChar
end;
4. Точно также как и PChar.
Pa5ha (2005-04-17 23:19:00) [4]Как выюзать контрол Edit со свойством мультилайн? Как туда добавить произвольное количество строк? И как конвертить pAnsiChar в String и обратно. И как вообще юзать pAnsiChar?
Anybody here?
Pa5ha (2005-04-17 00:09:00) [5]Я полагаю, что за собой ещё надо убираться. В каком сообщении описать удаление компонентов и анрегистер класс главного окна?
Pa5ha (2005-04-16 23:34:00) [6]GrayFace, Ок, спасибо. Задал направление, куда рыть )
GrayFace (2005-04-16 19:35:00) [7]Pa5ha (16.04.05 15:46) [4]
С какой стороны подойти к проблеме изменения шрифта на контролах?
WM_SETFONT
Например, с книги Рихтера "Windows для профессионалов". Есть на www.podgoretsky.com(мог описаться[ударение не выделяю - оставлю на твое усмотрение]).
Основные функции работы с окнами находятся в Help -> Windows SDK -> Index: EnumWindows -> Group.
Pa5ha (2005-04-16 15:46:00) [8]С какой стороны подойти к проблеме изменения шрифта на контролах?
И надо как то клавишу TAB к этому делу подключить. Как задать порядок переключения, etc?
Pa5ha (2005-04-16 01:31:00) [9]Только сейчас разобрался, как что и куда.
Я смотрю, здесь все такие умные, остроумие так и прет. Нет что бы что-нить умное сказать.
Бред...
alpet, Ты мне немного помог. Спасибо.
alpet (2005-04-14 14:13:00) [10]For create menu use following functions:
CreateMenu, InsertMenuItem, AppendMenu, InsertMenu.
File Open/Save Dialog boxes
The GetOpenFileNamefunction creates an Open dialog box that lets the user specify the drive, directory, and the name of a file or set of files to open.
mgcr (2005-04-14 13:20:00) [11]
> Надо сделать
Делай. Мешать не буду.
> Поможете
Размер оплаты не указан.
> а то VCL не рулит
Изучай исходники VCL и будет тебе счастье даром.