richedit ... schreibschutz und EN_PROTECTED(wird nicht gesendet, warum?), um bestimmte bereiche doch zu beschreiben
-
hi
ich will bei einem richedit (he) verhindern, dass bestimmte breiche geändert werden
dafür mache ich das richedit erstmal schreibgeschützt(odr weiß jmand ne bessere idee??)
und will dann über die benachrichtigung EN_PROTECTED
gucken, ob ich eine schreibaktion zulassen will oder nicht
hier mal ein codeschnipsel
EN_PROTECTED wird offenbar trotz eines eingabeversuchs per tastatur nicht gesendet ...
SendMessage(he,EM_SETOPTIONS,ECOOP_OR,ECO_READONLY);//wir wollen später verhindern, dass man an der falschen Stelle editieren kann SendMessage(he,EM_SETEVENTMASK,0,ENM_PROTECTED);//damit änderuungsversuche eine Nachricht senden static NMHDR *mes; //in der CALLBACK funktion(ein teil!!) switch(message) { case WM_NOTIFY://kommt irgend wie nie MessageBox(NULL,TEXT("NOTIFY"),TEXT("TEST"),0); mes= static_cast<NMHDR*> (LongToPtr(lParam)); switch(mes->code) { case EN_PROTECTED://dann kann das natürlich auch nie kommen MessageBox(NULL,TEXT("PROTECTED"),TEXT("TEST"),0); return -1;//erstmal ist nix erlaubt!! default: break; } break; default: break; }weiß zufällig jemand rat?? ...
danke + mfg
error
ps: wenn jemand eine andere funktionierende idee für eingeschränktes schreiben kennt, dann bitte sagen
-
ich will bei einem richedit (he) verhindern, dass bestimmte breiche geändert werden
Frickler

-
ok, habs gefunden:
mnn muss noch EM_SETCHARFORMAT mit CFE_PROTECTED setzen, dann klappts auch
danke + mfg