Форум: "Потрепаться";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
ВнизНужен приличный пример на Win API... Найти похожие ветки
← →
Knight (2004-01-01 02:42) [0]Чтоб не гольное окно, как в большинстве простейших... а более менее рабочее приложение с кнопками, едитами, лэйблами, меню и т.п. но без использования KOL.
← →
Ihor Osov'yak (2004-01-01 02:47) [1]хм.. Имхо, Вы или перепили, или недопили.. Приходи завтра, может что и где кто отыщет..
← →
Игорь Шевченко (2004-01-01 02:50) [2]Ты эта...заказ напиши, что требуется-то :)) А то примеров много :)))
По сабжу: вместе с Platform SDK поставляется много-много демок, они и с меню и с кнопками и с прочими контролами. Переводишь с С и счастья тебе сразу будет даром.
← →
Knight (2004-01-01 02:52) [3]>> Ihor Osov"yak © (01.01.04 02:47) [1]
> хм.. Имхо, Вы или перепили, или недопили..
Скорее второе чем первое... не пьюший я %)
>> Приходи завтра, может что и где кто отыщет...
Так я и не говорил, что нужно прямо щас... просто закинул вопрос, раз уж зашёл, т.к. завтра (в смысле сегодня :) появлюсь тут только после обеда. Ничего особо навороченного не надо, просто посмотреть, как грамотно оформляется код в таких приложениях и обрабатываются события.
← →
Knight (2004-01-01 02:54) [4]И не на Си, а на Делфи... :)
← →
Nous Mellon (2004-01-01 09:58) [5]Кстати меня тоже жутко беспокоит этот вопрос. Мне даже на С сойдет.
Пошел смотреть SDK
← →
Sergey_Masloff (2004-01-01 10:10) [6]Knight © (01.01.04 02:54) [4]
>И не на Си, а на Делфи... :)
Знаешь, WinAPI он что в Це что в Делфи что в Вижуал Басике - одна фигня.
← →
Думкин (2004-01-01 10:10) [7]Можно скачать Петзольда вместе с примерами и переводить потихому с Си - весьма полезная вещь.
← →
Nous Mellon (2004-01-01 10:51) [8]
> Можно скачать Петзольда вместе с примерами и переводить
> потихому с Си - весьма полезная вещь.
Линк плиз.
ЗЫ Про Яндекс знаю.
← →
Knight (2004-01-01 16:00) [9]Мастаки, неужели никто ничего на АПИ не пишет?
← →
Sergey_Masloff (2004-01-01 17:29) [10]Knight ©
>Мастаки, неужели никто ничего на АПИ не пишет?
1) Иди, минералочки попей. Отпустит.
Потом (завтра) если зуд не пройдет - открываешь примеры из SDK и переписываешь. Благо они-то переписываются один в один.
2) На API действительно никто не пишет. По крайней мере все что касается UI. И уже давно. Для тебя это новость?
← →
Nick Dnery (2004-01-01 17:29) [11]2>Автор ветки.
Ну != мастера мне пока не дали =! ( жаль :-)), а вот примерчики есть, в польне приличные, но длинные очень и код местами без оформления...
Так что либо мылом, либо здесь, но за длинность кода прошу не ругаться....
Жду ответа.
← →
Knight (2004-01-01 17:38) [12]>> Nick Dnery (01.01.04 17:29) [11]
Если код не измеряется метрами, то мыло в анкете... :)
← →
Rouse_ (2004-01-01 17:42) [13]Весь VCL довольно хороший пример использования WinAPI...
← →
Nick Dnery (2004-01-01 17:49) [14]2>Rouse_
:-)))))))))))))))))))))))))))))))
2>Knight ну не метрами, но наверно метром...
Вобщем буду отправлять килов по 300...
Там арзберешся.
И есче. В оригинальном виде - не для коммерческого использования.
И снова есче. АПИ но МАСМ32 примеры нужны?
← →
SergP (2004-01-01 18:08) [15]2 Knight ©
Если что-нить добудешь, кинь мне плиз... на любое мыло (они оба рабочие).
А то я когда-то просил на форуме, но либо вообще ответа не получал, либо "гиганты мысли" ограничивались сообщениями подобными тем что в этой ветке..
← →
Nick Dnery (2004-01-01 18:27) [16]2>Sergp
нЕ бузи
2>Knight
Готово, см. почту.
В присланном примере : (WinApi, винапее некуда):
========================================================
1.Создание окон различных виндовых стилей.
2. Работа с ownerdraw menu.
3. работа с Tray icon.
4. Работа с MCI.
5. Работа с реестром.
6. Суперклассинг.
7. Сабклассинг.
8. CommControls.
9. Timers.
и много чего еще. Повторяю. в оригинально виде не для коммерческог использования.
================================================================
Благодарности вем мастерам этого сайта, особенно
Игорю Шевченко.
Анатолию П.
panov.
song. (его пример работы с треем был использован -!)
oolokin"у и k@rt"y за моральную поддержку.
← →
Knight (2004-01-01 18:48) [17]>> Nick Dnery (01.01.04 18:27) [16]
Спасибо, щас проверю, посмотрю... :)
← →
Nick Denry (2004-01-01 18:53) [18]Всмысле Nick Denry (c). А то опечался я.
← →
Knight (2004-01-01 19:28) [19]>> Nick Denry © (01.01.04 18:53) [18]
То что надо! Есть все моменты которые требовались. ОГРОМНОЕ СПАСИБО :)
← →
Думкин (2004-01-01 19:32) [20]
> [8] Nous Mellon © (01.01.04 10:51)
http://podgoretsky.com
Там и лежит, текст книги и примеры. Петзольд - Windows 95.
← →
Nous Mellon (2004-01-01 22:03) [21]
> [20] Думкин © (01.01.04 19:32)
Спасибо.
ЗЫ ИМХО tnx - пошло
← →
Номолос (2004-01-01 22:23) [22]А мож в кладовочке выложите?
← →
Knight (2004-01-02 01:07) [23]Во всех, даже простейших примерах окон на АПИ есть такой кусок:
wm_destroy :
Begin
postquitmessage(0); exit;
Result:=0;
End
Объясните, последовательность exit; Result:=0;
В чем его смысл?
← →
Nick Denry (2004-01-02 01:42) [24]2>Knight.
1.На здоровье
2. WM_DESTROY:
Return Values
If an application processes this message, it should return zero.
Т.е. приложение олжно возвращать 0.
3.The PostQuitMessage function indicates to Windows that a thread has made a request to terminate (quit). It is typically used in response to a WM_DESTROY message.
VOID PostQuitMessage(
int nExitCode // exit code
);
Т.е. уведомляем винду, что мы выходим и дескриптор нафиг уже не нужен. Заодно и говорим код, с которым вышли. как errollevel в DOS , хотя наверное не совсем.
← →
Knight (2004-01-02 02:31) [25]Я имел ввиду последовательность... разве Result будет выполняется после Exit?
Может надо так?
wm_destroy :
Begin
postquitmessage(0);
Result:=0;
exit;
End
← →
Ske4er (2004-01-02 03:25) [26]http://delphi.mtu-net.ru/zip/createwnd.zip
← →
Думкин (2004-01-02 06:39) [27]> [25] Knight © (02.01.04 02:31)
Честно сказать, я весьма удивлен
> Во всех, даже простейших примерах
я, как раз, везде вижу ваш второй вариант.
← →
Rouse_ (2004-01-02 13:26) [28]> [25] Knight © (02.01.04 02:31)
По логике на WM_DESTROY Result не нужен... так как там не Send а Post
Если он тебе мешает, можешь удалить эту строку...
← →
SergP (2004-01-02 15:53) [29]
> Nick Dnery (01.01.04 18:27) [16]
> 2>Sergp
> нЕ бузи
Неужели я сказал что-то обидное? Если да, то дико извиняюсь.
А вообще кто-нить, плиз пришлите мне копию этого... Или в кладовку выложите, если это вас не затруднит.
← →
Nick Denry (2004-01-02 16:22) [30]Да, в строчке явно очепятка. Последовательность скореее всего действительно надо изменить.
Вопрос ко всем : есть у меня несколько действительно веселых наработок на АПИ на дельфи и на МАСМе, хотелось бы их действительно где -нибудь в нете выложить. С исходниками есс-но. Но как это сделать?
← →
Rouse_ (2004-01-02 16:45) [31]> [30] Nick Denry © (02.01.04 16:22)
Если веселые... вышли мне, я их выложу на сайте...
← →
Nick Denry (2004-01-02 16:50) [32]Не rouse, твой сайт я знаю, это круто. Я имел ввиду под словом веселые - сложность кода. Это там где он вылизан до запятой и размер исходника килобайт на 20-30 (иногода меньше) превышает размер екзешника. А для воего сайта подойдет только
Поздравлялка Универсальная (с). С цветочками, для девушек. На днях вышлю, посмотришь.
← →
Knight (2004-01-02 17:20) [33]>> Думкин © (02.01.04 06:39) [27]
Ну не знаю... а у меня сколько примеров и везде одно, даже в русском хелпе по WinAPI, в примере как создать минимально окно, следующее...
function WindowProc(wnd:HWND; Msg : Integer; Wparam:Wparam; Lparam:Lparam):Lresult;
stdcall;
Begin
case msg of
wm_destroy :
Begin
postquitmessage(0); exit;
Result:=0;
End
else Result:=DefWindowProc(wnd,msg,wparam,lparam);
end;
End;
Ну да ладно... не суть важно.
Ещё вопрос. Искал как создать подобие панели получился такой вариант:
Panel1:= CreateWindow("STATIC",PChar(""), WS_DLGFRAME or WS_CHILD or WS_VISIBLE or SS_NOTIFY,97,12,100,100, MainWnd,0,hInstance,nil);
Так она делается?
← →
Knight (2004-01-02 17:51) [34]И ещё... почему кнопка созданная на главном окне нажимается, а на моей панели - нет?
← →
SPeller (2004-01-02 18:03) [35]2 Knight
Перешли, пожалуйста, мне тот этот архивчик. Интересно некоторые вещи посмотреть, авось чего-то не знаю :-) Особенно супер/субклассинг и MCI.
← →
SPeller (2004-01-02 18:06) [36]
> почему кнопка созданная на главном окне нажимается, а на
> моей панели - нет?
Попробуй панели указать стили WS_CLIPCHILDREN и WS_CLIPSIBLINGS, а кнопке обязательно WS_CHAILD.
← →
Knight (2004-01-02 18:50) [37]>> SPeller © (02.01.04 18:03) [35]
> Перешли, пожалуйста, мне тот архивчик.
Только если Nick Denry добро даст... :)
← →
Nick Denry (2004-01-02 19:23) [38]2>Knight ©
Даю добро. :-)))))))))))))))))))))
А то мой траффик скоро накроется.
И еще : выдержка из Iczelion:
Windows 95 принесла несколько новых элементов пользовательского интерфейса, сделавших GUI более разнообразным. Hекоторые из них широко использовались и в Windows 3.1, но программисты должны были программировать их самостоятельно. Теперь Микрософт включил их в Windows 9x и NT. Мы изучим их в этом туториале.
Вот список новых контролов:
Toolbar
Tooltip
Status bar
property sheet
property page
Tree view
List view
Animation
Drag list
Header
Hot-key
Image list
progress bar
Right edit
Tab
Trackbar
Up-down
Тебе для полного счастья нужен toolbar. Сам туториал ищи на www.wasm.ru, если не найдешь, то тогда конечно могу переслать.
И снова еще :-)))))))))))))
Часто, очень часто хорошие (точнеее профессиональные)примеры использования АПИ встречаются как раз в МАСМовских прмерах.
← →
Nick Denry (2004-01-02 19:45) [39]Прочитал еще раз твой вопрос про кнопку:
Походу, ты создаешь кнопку на статие со стилем WS_CHILD, и он является родительским окном для твоей кнопки, он и мессагу wm_command получает.
Копай в сторону toolbar.
выдержка оттуда же:
Class Name Common Control
Имя класса Common Control"ы
ToolbarWindow32 Toolbar
tooltips_class32 Tooltip
msctls_statusbar32 Status bar
SysTreeView32 Tree view
SysListView32 List view
SysAnimate32 Animation
SysHeader32 Header
msctls_hotkey32 Hot-key
msctls_progress32 progress bar
RICHEDIT Rich edit
msctls_updown32 Up-down
SysTabControl32 Tab
← →
Knight (2004-01-02 19:48) [40]С кнопкой я разобрался... просто скопировал создание окна с лэйбла и не изменил координаты, поэтому хоть кнопка и выводилась поверх неё, но почему-то события уходили на текст, а кнопка оставалясь в пролёте. Закоментировал Label и кнопка заработала :)
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.007 c