| Автор
| Сообщение |
|
|
|
Цитата |
|
Здравствуйте! Я создаю ListView средствами WinAPI, т.е. LV_HWND := CreateWindowEX(0,WC_LISTVIEW,'',WS_CHILD or WS_VISIBLE or LVS_REPORT,...); Как затем сделать колонки, наполнить его содержимым и обрабатывать сообщения. Заранее спасибо.  |
|
| В начало |
|
 |
|
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
ну раз решил заняться садо-мазо, то берешь доку по винапи и читаешь... _________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
В Delphi TListView тоже создаётся средствами WinAPI. Чем он тебе не подходит?
| Андрей писал(а): | Я создаю ListView средствами WinAPI, т.е. LV_HWND := CreateWindowEX(0,WC_LISTVIEW,'',WS_CHILD or WS_VISIBLE or LVS_REPORT,...);
-----------------------------------------
Это всё есть в TCustomListView.CreateParams и в TWinControl. |
По-моему тут два варианта.
1. Взять TListView, посмотреть внимательно исходники, сделать потомка, переопределить что нужно и не мучиться.
2. Посмотреть TListView и повторить нужные части у себя.
Если тебе нужен практический результат - лучше первый вариант. Все возможности API тебе доступны а мороки меньше.
Второй вариант полезен для одного - разобраться с Delphi и/или с WinAPI. Или для каких-то уж очень экстраординарных вещей. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
Вообще мне интересен этот вопрос, поскольку я пишу проги только на WinAPI. Таким образом их размер уменьшается с 500 кб до 30 кб. Что в общем-то для системных программ немаловажно. Если честно, исходники компонента ListView я уже смотрел, но прога, сделанная по ним никак не хотела добавлять SubItems. В общем геморрой еще тот. Ну ладно, попробую еще разоббраться.
P.S. Кому нужна дока по зозданию WinAPI приложений, пишите!  |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Если память не изменяет, все итемы добавляются и удаляются через сообщения Windows. Ну а дальше - см. доки _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
До сегодняшнего дня не подозревал что на Делфи можно сделать програму меньше 300 кб. Иногда завидно смотреть как VC компилирует махонькие програмульки где-то в 50 кб. После сообщения Андрея догадался. Выбросил из dpr Application и ссылку на Forms, поставил для теста API-шный MessageBox. Вышло 15 кб.
Ну ладно, это лирика. У меня пару вопросов по поводу Делфийских приложений на "чистых" API.
1. А под Windows CE оно будет работать? Понятно, если использовать соответствующее подмножество API функций.
2. Андрей, а что за дока по созданию WinAPI приложений? Чем лучше MSDN? |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
В D6 можно легко утоптать программу до 8-9К. А под WinCE... нужно попробовать. Есть подходящий девайс?
Единственная дока по созданию WinAPI-приложений, которая лучше MSDN - это книжки Г.Шилдта. Любит чувак свое дело, хотя иногда до слез умиления доводит фразами типа "Windows 95 - это ОС для работы на компьютерах в XXI веке" _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
Был бы девайс - сам попробовал. Думал, может кто-то уже пробовал или знает.
У нас есть большой проект под Делфи, который хотелось бы повторить в каком-то виде на "карманных" устройствах. Не знаем с какой стороны к этому подойти. Ну а если Делфийский код подойдёт то может и переписывать не нужно, просто переделать, ужать немного. |
|
| В начало |
|
 |
|
|
| В начало |
|
 |
|
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| to Андрей Слушай, а где там WinAPI? Это же сайт какого-то института. Там есть что-то популярно об Интернет, о Latexe и т.д. |
|
| В начало |
|
 |
|
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
Ещё несколько слов на тему маленьких приложений на чистых API. Появилась у меня необходимость сделать прогамульку которая находит некоторую dll, запускает её через такую-то функцию и ждёт завершения. Поскольку функциональность небольшая захотелось сделать её поменьше. Мой Делфи 7 делает минимальный exe 15К. Запустил VC чтобы сделать там ещё меньше. В принципе, что там работы, на 1К кода максимум. Так вот, VC сделал мне минимальный exe 24К.
А я то думал что VC компактней Делфи... |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Эта дискуссия перерастает в бойню на тех форумах, где обретаются и паскалисты, и насильники.
Если просто сесть за VC и что-то писать - эффект будет, прямо скажу, неважный. В Delphi компилятор немногословный и ненастраиваемый, зато он достаточно интеллектуальный. И даже новичку может выдать эффективный код. А чтобы получить тот же или лучший эффект от VC, нужно знать особенности компилятора - какие циклы для чего использовать, какая модель вызова функций лучше подходит и т.д.
Не последнюю роль играют и либы. MFC намного уступает по функциональности VCL, но и код компактней выходит. _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
Решил я ради интереса сделать ту же задачу на ассемблере. Нашёл tasm и пример hello window с одним MessageBox. Вот общие сравнительные результаты минимального приложения:
TAsm - 8K
Delphi 6 - 8-9K (со слов DrPass, см. выше)
Delphi 7 - 15K
Visual C - 24K
Не знаю, возможно я чего-то ещё не выключил в VC и он может сделать компактней.
| DrPass писал(а): | | MFC намного уступает по функциональности VCL, но и код компактней выходит. |
Что-то я не совсем понял фразу. У кого всё же компактней, у MFC или у VCL ? |
|
| В начало |
|
 |
|