Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 и будет тебе счастье даром.


Наверх

Титульная страница Поиск, карта сайта Написать письмо