Mercurial > dwindows
comparison os2/dw.c @ 306:9d13efce2894
Minor OS/2 cleanup. Added #defines for the signals, instead of using the
text strings.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 31 Mar 2003 07:50:20 +0000 |
parents | 4559a2fd2db2 |
children | 324587c06cea |
comparison
equal
deleted
inserted
replaced
305:32ad8a0dc06b | 306:9d13efce2894 |
---|---|
8048 */ | 8048 */ |
8049 void API dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data) | 8049 void API dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data) |
8050 { | 8050 { |
8051 ULONG message = 0L; | 8051 ULONG message = 0L; |
8052 | 8052 |
8053 if(strcmp(signame, "lose-focus") == 0) | |
8054 { | |
8055 char tmpbuf[100]; | |
8056 | |
8057 WinQueryClassName(window, 99, tmpbuf); | |
8058 | |
8059 if(strncmp(tmpbuf, "#2", 3) == 0) | |
8060 { | |
8061 HENUM henum = WinBeginEnumWindows(window); | |
8062 HWND child = WinGetNextWindow(henum); | |
8063 WinEndEnumWindows(henum); | |
8064 if(child) | |
8065 window = child; | |
8066 } | |
8067 } | |
8068 if(window && signame && sigfunc) | 8053 if(window && signame && sigfunc) |
8069 { | 8054 { |
8070 if((message = _findsigmessage(signame)) != 0) | 8055 if((message = _findsigmessage(signame)) != 0) |
8071 _new_signal(message, window, 0, sigfunc, data); | 8056 _new_signal(message, window, 0, sigfunc, data); |
8072 } | 8057 } |