Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Вниз

Ворох вопросов по API, дубель два   Найти похожие ветки 

 
Dib@zol   (2006-10-22 13:44) [0]

Здравствуйте, эксперты, поддержка вы моя и опора!
Сёдня у меня просто куча вопросов по Эй-Пи-Ай (aka API),
и все как на подбор сложные...

Только убедительная просьба - НЕ НАДО ФЛУДИТЬ!!! А то
меня уже прошлый раз некий нехороший члаэк отфутболил:
мол а я всё знаааааю, а тибе ни скааааазюуууу! А
остальные его поддержали. Пожалуйста ответьте на вопросы,
а не советуйте мне читать умные книжки по API. Мне нужны
ответы здесь и сейчас. Пожалуйста. Вобщем текст я целиком
скопировал из прошлого вопроса:

1) Как получить вокруг "Static", те. метки на API-окне,
  приподнятую рамку в 1 пкс. толщиной? DrawEdge и
  Polyline не предлагать! Ну если тока на крайняк. Вот
  как делать опущенную рамку я знаю, SS_SUNKEN. А вот
  как приподнятую? Чё комбинировать в CreateWindow?
  Или может сообщение какоенить этой метке слать? А
  то я уже задалбался методом тыка пробовать Х(

2) Как в метке задавать цвет шрифта? в WM_SETFONT и в
  структуре TLogFont нет такого параметра, как цвет!

3) Как правильно пользовать WM_CTLCOLORBTN? Я уже
  пробовал писать в Result Create(Любой)Brush, но
  чёта не пашет подскажите в чём проблема?

4) Вопрос по моему связанный с предыдущим: как
  реализовать прозрачность фона "Static"-метки?
  Я догадываюсь что в ответ на WM_CTLCOLORSTATIC
  надо устанавливать кисточку в HOLLOW_BRUSH или
  там NULL_BRUSH, но КАК (см. вопр. №2)? TextOut
  не предлагать! Мне нужен отдельный контрол, к
  которому можно обратиться по его хэндлу.

5) Как в "EDIT" - текстовом поле распознать нажатие
  Enter"a? Причём незамедлительно? Ведь когда фокус
  находится в текстовом поле, основной цикл оконных
  сообщений простаивает, или ловит сообщения, которые
  хэндлит только DefWindowProc. Точно не знаю чё он в
  это время творит. Поэтому в него вставлять отлов
  Энтера бессмысленно (если конечно его нажатие не
  порождает сообщение "родителю"). Вобщем как ловить
  Enter правильно?

6) А также меня доконал страшенный глюк с перерисовкой
  окна в Windoz XP. У меня есть 2 системы: 98 и XP.
  Но под 98-ой всё перерисовывается ништяк, а под XP
  главное окно при своём создании получает клиентскую
  область, закрашенную в виде картинки, которая была
  на этом месте до появленния окна. Причём эта жуть
  сохраняется даже если подвигать окно по десктопу.
  А если случайно задвинуть часть окна за пределы
  рабочего стола, то при возвращении его весь Region
  окна, попавший за экран, закрашивается цветом
  крайнего пикселя окна, включая и границу, и
  заголовок!!! Как бороться с этой напастью?

Уф вроде всё. Помогите плз.


 
Ketmar ©   (2006-10-22 13:47) [1]

>[0] Dib@zol 22-Oct-2006, 13:44
>Пожалуйста ответьте на вопросы, а не советуйте мне читать умные книжки по API.
чукча не читатель?

>Мне нужны ответы здесь и сейчас.
какова оплата? сумма не озвучена.


 
Dib@zol   (2006-10-22 13:51) [2]


> чукча не читатель?


Пофлудил? Молодец.


> чукча не читатель?

Нет блн просто у чукчи время в Инет-кафе лимитировано!!! :(((( ЫЫЫЫЫ

А дельные предложения есть али как?


 
Ketmar ©   (2006-10-22 13:54) [3]

>[2] Dib@zol 22-Oct-2006, 13:51
>А дельные предложения есть али как?
есть. книги читать. или оплатить работу.


 
Dib@zol   (2006-10-22 14:00) [4]

Знаешь Ketmar я канешна не профи в деле функционирования форумов, но считаю что форумы для того и нужны, чтоб ЛЮБОЙ даже САМЫЙ необеспеченный (эх...) пользователь, который ходит в Интернет через Инет-кафе за неимением собстного модема, может найти здесь ответ на свой вопрос. Так что изини меня, но требовать за ответ деньги это Удалено модератором :)))


 
Ketmar ©   (2006-10-22 14:14) [5]

>[4] Dib@zol 22-Oct-2006, 14:00
считай дальше. пока меня здесь не забанили -- я вправе отвечать как отвечаю. от Максима, ИШ, ЮЗ, Palladin, Rouse_, etc -- нареканий не поступало.


 
Antoxa2005   (2006-10-22 14:14) [6]


> я канешна не профи


Что за язык интересно?


 
Dib@zol   (2006-10-22 14:19) [7]


> Antoxa2005   (22.10.06 14:14) [6]


Нормальный русский язык, с нормальными орфографическими багами...


 
Ketmar ©   (2006-10-22 14:19) [8]

>[6] Antoxa2005 22-Oct-2006, 14:14
>Что за язык интересно?
полагаю, что когда-то был русский...


 
Dib@zol   (2006-10-22 14:21) [9]

Почему когда-то? И щас тоже есть...
Ну дык может вернёмся к теме?


 
Ketmar ©   (2006-10-22 14:27) [10]

>[9] Dib@zol 22-Oct-2006, 14:21
>Ну дык может вернёмся к теме?
сумма не озвучена.


 
Dib@zol   (2006-10-22 14:34) [11]

>сумма не озвучена.
сто рублей. Удовлетворён?


 
Ketmar ©   (2006-10-22 14:38) [12]

>[11] Dib@zol 22-Oct-2006, 14:34
>сто рублей. Удовлетворён?
ищи дальше.


 
Dib@zol   (2006-10-22 14:45) [13]

Ketmar ты чё, спамбот? Ну не знаешь ответа, ну не флуди зря! Или просто выпендриться хотца?


 
Орион ©   (2006-10-22 14:47) [14]

> [0] Dib@zol   (22.10.06 13:44)

Купи диски с MSDN.
Вот те сто рублей из [11] как раз на это и пусти ;)


 
Ketmar ©   (2006-10-22 14:54) [15]

>[13] Dib@zol 22-Oct-2006, 14:45
>Ketmar ты чё, спамбот?
угу. люблю спамоботить всяких странных неко с претензиями.


 
Dib@zol   (2006-10-22 14:55) [16]

Знаете ребята, переключитесь-ка на главную страницу и прочитайте:

Как видно из названия, этот сайт посвящен Delphi. Создавая его, мы поставили себе цель сделать не "еще один сайт по Delphi", а нечто универсальное, что действительно поможет программисту именно тогда, когда это необходимо.

Если это в ваших силах, поймите.

И всё-таки, неужели вопросы мои настолько сложны для вас, что вы требуете за ответы деньги, советуете читать MSDN, флудите тут почём зря. Есть тут хоть один не бессердечный человек, могущий ответить на вопросы (в самом начале ветки)?


 
Ketmar ©   (2006-10-22 14:56) [17]

>[16] Dib@zol 22-Oct-2006, 14:55
>Есть тут хоть один не бессердечный
>человек, могущий ответить на вопросы
нет.


 
Dib@zol   (2006-10-22 15:12) [18]


> угу. люблю спамоботить всяких странных неко с претензиями.


Тут кто-то разглагольствовал о чистоте русского языка...

Злые вы, уйду я от вас. Видимо нет тут хороших профессионалов, только Кетмары. Да и деньги кончились. ЗЫ Нет в жизни справедливости 8(((


 
Ketmar ©   (2006-10-22 15:15) [19]

>[18] Dib@zol 22-Oct-2006, 15:12
>Тут кто-то разглагольствовал о чистоте русского языка...
мне -- можно. потому что я язык как раз знаю.

>Злые вы, уйду я от вас.
ура! ура!!!


 
Орион ©   (2006-10-22 15:21) [20]

> [16] Dib@zol   (22.10.06 14:55)
> И всё-таки, неужели вопросы мои настолько сложны для вас, что вы требуете за ответы деньги, советуете читать MSDN


Нет. просто лениво писать то, что можно взять в MSDN ;)


 
Ketmar ©   (2006-10-22 15:22) [21]

зыж интересно: а неко действительно не знает слова "неко"? %-)


 
Gero ©   (2006-10-22 15:37) [22]

> [21] Ketmar ©   (22.10.06 15:22)

Я тоже не знаю такого слова. Это что-то жаргонное.


 
Ketmar ©   (2006-10-22 15:46) [23]

>[22] Gero(c) 22-Oct-2006, 15:37
>Я тоже не знаю такого слова. Это что-то жаргонное.
это что-то японское. "кошка". в данном применении -- "кисо". %-)


 
Gero ©   (2006-10-22 16:30) [24]

> [23] Ketmar ©   (22.10.06 15:46)

Ну не знаю, я японский не изучал.


 
@!!ex ©   (2006-10-22 16:34) [25]

Dib@zol   (22.10.06 13:44)  

1) Rectangle? :)

2) SetTextColor? :)

3) No comments

4) Написать свой контрол - не судьба?

5) Разве у "EDIT""a нету возможности обрабатывать сообщения?

6) Может рано лезть в WinAPI??????
Кстати.. Вопрос... А что должно быть на окне нарисованно по вашему мнению??

P.S.
Действительно стоит книжек почитать...
MSDN еще рано....


 
Ketmar ©   (2006-10-22 16:38) [26]

>[24] Gero(c) 22-Oct-2006, 16:30
>Ну не знаю, я японский не изучал.
читай башоргру. %-)


 
Dib@zol   (2006-10-22 16:39) [27]


> 6) Может рано лезть в WinAPI??????
> Кстати.. Вопрос... А что должно быть на окне нарисованно
> по вашему мнению??


Крайний пиксель границы!!! В ХР - синенький такой...


 
@!!ex ©   (2006-10-22 16:41) [28]


> Dib@zol   (22.10.06 16:39) [27]

С какой радости?????


 
Ketmar ©   (2006-10-22 16:41) [29]

а говорил, что ушёл... %-(


 
Ketmar ©   (2006-10-22 16:42) [30]

>[28] @!!ex(c) 22-Oct-2006, 16:41
>С какой радости?????
с той, что неко не умеет читать. и не желает. потому явно "накосячило" в обработчике сообщений. причём код обработчика оно тоже не даёт, потому что это секретная военная разработка.


 
@!!ex ©   (2006-10-22 16:46) [31]


> Ketmar ©   (22.10.06 16:42) [30]

Чето мне страшно стало за нашу армию.....


 
VirEx ©   (2006-10-22 17:44) [32]

http://winconsul.kladovka.net.ru/


 
Marser ©   (2006-10-22 17:46) [33]

> [26] Ketmar ©   (22.10.06 16:38)
> >[24] Gero(c) 22-Oct-2006, 16:30
> >Ну не знаю, я японский не изучал.
> читай башоргру. %-)

А я помню из каратэ, что кошачья стойка называется нэко-аши-дачи :-)


 
Anatoly Podgoretsky ©   (2006-10-22 17:50) [34]

> читать MSDN

Хочешь в слух прочитаю, такса 100, а если с выражением, то 150


 
Gero ©   (2006-10-22 17:53) [35]

> [34] Anatoly Podgoretsky ©   (22.10.06 17:50)
> > читать MSDN
>
> Хочешь в слух прочитаю, такса 100, а если с выражением,
> то 150

Весь MSDN за 150 баксов? Я хочу!


 
Marser ©   (2006-10-22 17:54) [36]

> [34] Anatoly Podgoretsky ©   (22.10.06 17:50)
> > читать MSDN
>
> Хочешь в слух прочитаю, такса 100, а если с выражением,
> то 150

А произношение? :-)


 
VirEx ©   (2006-10-22 17:56) [37]

ой, нажал пост рано.
вобщем так, качай исходник winconsul:
http://winconsul.kladovka.net.ru/

всё сделано чисто на API

1)
HWND CreateWindowEx(

   DWORD dwExStyle, // extended window style
   LPCTSTR lpClassName, // pointer to registered class name
   LPCTSTR lpWindowName, // pointer to window name
   DWORD dwStyle, // window style
   int x, // horizontal position of window
   int y, // vertical position of window
   int nWidth, // window width
   int nHeight, // window height
   HWND hWndParent, // handle to parent or owner window
   HMENU hMenu, // handle to menu, or child-window identifier
   HINSTANCE hInstance, // handle to application instance
   LPVOID lpParam  // pointer to window-creation data
  );

копай в сторону dwExStyle

2) там нет такого, это делается при прорисовке окна, например отрисовка цвета в static:
  WM_CTLCOLORSTATIC: // Изменения цвета STATIC
  begin
    if LParam = Label1 then
    begin
      Result := DefWindowProc(Wnd, Msg, WParam, LParam);
      SetTextColor(WParam, $FF0000);
    end;
  end;

3) вот аналогия для EDIT:
  WM_CTLCOLOREDIT:begin
                  SetTextColor(wpr, rgb(255,0,0));
                  end;

4) прозрачность фона: SetBkMode(DC, TRANSPARENT)

5) нужно перехватывать процедуру сообщений:
//создаём поле ввода (подчиненное окно)
HandleEdit:=CreateWindowEx(0,"EDIT","",WS_CHILD or WS_BORDER, 0,0,  10,20 ,handle,0,instance, @EditWindowProc);
//запоминаем процедуру обработки сообщений от windows к полю ввода - EDIT (чтобы перехватывать только то что нам нужно а остальное - перерисовка окна и т.п. оставить самому компоненту системы - EDIT"у )
OldEditProc:=Pointer(GetWindowLong(HandleEdit,GWL_WNDPROC));
//устанавливаем свою процедуру обработки сообщений
SetWindowLong(HandleEdit,GWL_WNDPROC,Integer(@EditWindowProc));

где EditWindowProc это:
function EditWindowProc (Hwn,msg,wpr,lpr: longint): longint; stdcall;
begin
result:=CallWindowProc(OldEditProc,HandleEdit,Msg,wPr,Lpr); //msg
//вот здесь и отлавливай сообщения едиту
//фильтрация сообщений
case msg of

 //событие нажатия клавиши
 wm_KeyDown: begin
     //смотрим что нажали
     case wpr of
       //Enter
       vk_return:begin
и т.д.


 
Anatoly Podgoretsky ©   (2006-10-22 17:58) [38]


> Весь MSDN за 150 баксов? Я хочу!

Какой весь, в час.


 
Anatoly Podgoretsky ©   (2006-10-22 17:58) [39]


> А произношение? :-)

Скидка 20 баксов, уже входит в таксу.


 
Zacho ©   (2006-10-23 12:45) [40]

Продаёшь таксу, умеющую читать MSDN вслух ?
Беру !!!
Перепродам знакомым "собачникам" за офигенные бабки.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.044 c
2-1161676141
Mishenka
2006-10-24 11:49
2006.11.12
Модальное окно


3-1157779415
Guest001
2006-09-09 09:23
2006.11.12
Какую СУБД предпочесть?


2-1162186962
Sergey_b
2006-10-30 08:42
2006.11.12
MDI


15-1161603283
Курдль
2006-10-23 15:34
2006.11.12
Прошу поделиться опытом в Web-проектировании.


2-1161633221
5Stas5
2006-10-23 23:53
2006.11.12
Как сделать многострочный LISTBOX используя только WIN API





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский