/********************************
* Projekt: Funkuhr DCF77 *
* Eigenschaftsseite äTrayIconô *
* Festlegung Erscheinungsbild *
* des Tray-Icons *
********************************/
#include "Funkuhr.h"
INT_PTR CALLBACK TrayIconDlgProc(HWND Wnd,UINT Msg,WPARAM wParam,LPARAM lParam) {
DefHelpProc(Wnd,Msg,lParam,103);
switch (Msg) {
case WM_INITDIALOG: {
UINT id; // Minuten-Anzahl einsetzen
for (id=15; id<=16; id++) {
TCHAR s[128],t[128];
GetDlgItemText(Wnd,id,t,elemof(t));
wnsprintf(s,elemof(s),t,Config.ToSilence);
SetDlgItemText(Wnd,id,s);
}
CheckDlgButton(Wnd,11+Config.TrayIconVis,TRUE);
CheckDlgButton(Wnd,14,Config.TrayIconBlink);
CheckDlgButton(Wnd,15+Config.TrayIconAus,TRUE);
SendMessage(Wnd,WM_FUNKRECV,12,0); // setzen lassen
SendDlgItemMessage(Wnd,20,TBM_SETRANGE,0,MAKELONG(0,10));
SendDlgItemMessage(Wnd,20,TBM_SETPOS,1,Config.Piep);
}return TRUE;
case WM_NOTIFY: {
LPPSHNOTIFY psn=(LPPSHNOTIFY)lParam;
switch (psn->hdr.code) {
case PSN_SETACTIVE: {
HWND w=GetDlgItem(Wnd,20);
BOOL e=Config.Where!=2;
EnableWindow(w,e);
EnableWindow(GetPrevSibling(w),e);
SendMessage(Wnd,WM_FUNKRECV,12,0); // setzen lassen
}break;
}
}break;
case WM_COMMAND: switch (LOWORD(wParam)) {
case 11:
case 12:
case 13: {
Config.TrayIconVis=(BYTE)(wParam-11);
TrayIconVisChanged();
}break;
case 14: Config.TrayIconBlink=IsDlgButtonChecked(Wnd,14); break;
case 15:
case 16:
case 17: {
wParam-=15;
if (Empfang.Ein==3) { // Empfangszeit-Timer nachfⁿhren 110908
if (Config.TrayIconAus==2 && wParam<2) SetTimer(MainWnd,102,Config.ToSilence*60000,NULL);
if (Config.TrayIconAus<2 && wParam==2) KillTimer(MainWnd,102);
}
Config.TrayIconAus=(BYTE)wParam;
}break;
case 18: { // Keine AUTOCHECKBOX!! ▄bergΣnge: 0->1, 1->0, 2->1. Das Setzen erfolgt bei WM_FUNKRECV.
PostMessage(MainWnd,WM_SetActivity,IsDlgButtonChecked(Wnd,18)==1?0:3,0);
}break;
}break;
case WM_FUNKRECV: switch (wParam) {
case 12: { // Config.Ein geΣndert
UINT Check=2; // EIN, aber ohne Darstellung (stiller Empfang)
switch (Empfang.Ein) {
case 0: Check=0; break; // voll AUS
case 3: Check=1; break; // voll EIN
}
CheckDlgButton(Wnd,18,Check);
}break;
}break;
case WM_HSCROLL: switch (LOWORD(wParam)) { // Schieberegler ╗Piep½
case SB_ENDSCROLL: {
Empfang.DauerPiep=false;
if (Config.Piep) {
if (Empfang.Ein==3) {
if (!Empfang.Signal) StopBeep();
}else DoneBeep();
}
}break;
default:{
BYTE NewPiep=(BYTE)SendMessage((HWND)lParam,TBM_GETPOS,0,0);
if (!Empfang.DauerPiep) {
Empfang.DauerPiep=true;
Config.Piep=NewPiep;
if (Config.Piep) {
if (Empfang.Ein==3) {
if (!Empfang.Signal) StartBeep();
}else goto initbeep;
}
}else if (Config.Piep!=NewPiep) {
if (Config.Piep && !NewPiep) DoneBeep(); // macht implizit StopBeep
Config.Piep=NewPiep;
if (Config.Piep) {
initbeep:
InitBeep((BYTE)(10-Config.Piep));
StartBeep();
}
}
}
}break;
}
return FALSE;
}
| Vorgefundene Kodierung: OEM (CP437) | 1 |