Formular Check - roter Rahmen um Controls

  • Ja, "nur das Intranet" ist ab und an doch schon recht heftig, selbst bei "nur 5MB" pro Nutzer pro Anmeldung. Und ja: Office ist größer - aber das wird auch nicht quer durch das Intranet gezogen. :D

    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • Also ich habe die Methode von Chesstiger mal integriert und muss sagen, sehr schick. Größentechnisch ändert das an meiner Executable gar nichts. Wahrscheinlich habe ich die GDI+ schon an anderer Stelle integriert.
    Zwei, bzw. eigentlich nur ein Probleme hindern mich allerdings daran diese Variante zu integrieren.
    a) Nach dem "zeichnen" der roten Rahmen, verschwinden alle Controls innerhalb eines TABs (selbst die, die nicht mit einem roten Rahmen versehen werden). Sie sind zwar noch da, aber erscheinen erst, wenn man mit dem Mauscursor darüber fährt. Ich verwende ISNAutoIt-Studio bzw. das FormStudio davon. Evtl. hat es auch damit zu tun. Ich werde mal versuchen dieses Phänomen im SciTE nachzustellen.
    b) Was sich zwar abfangen lässt, aber nicht ganz so schön an dieser Variante ist, dass der Rahmen bei z.B. wiederholter falscher Eingabe über den bereits gezeichneten Rahmen gelegt wird. Aber ehrlich gesagt habe ich hier noch nicht ganz soweit überlegt. Ich denke mal, man kann vor dem Check der Inputcontrols einfach alle roten Rahmen löschen und danach bei den entsprechend betroffenen Controls wieder einen neuen Rahmen zeichnen.

  • Hi,

    also Problem a) konnte ich lösen indem ich die entsprechenden Controls im TAB einfach "OnTop" gesetzt habe. Jetzt verschwindet hier auch nichts mehr.
    Für b) habe ich noch keine schöne Lösung. Habe auch das Problem, dass bei Aufruf von "Unset" auf ein Control welches vorher noch keinen roten Rahmen erhalten hat, dass Programm abstürzt.
    Habt Ihr hierfür noch einen Vorschlag?

  • CRouch: Beide Probleme treten bei der Label-Lösung nicht auf - just sayin.

    Damit du es mit GDI+ abfangen kannst, ob es einen Rahmen hat oder nicht, musst du selbst wissen, wo du nun einen Rahmen gezogen hast, und wo nicht. Hierfür bietet sich zum Beispiel ein Array an...

    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • @Bioshade Wäre die UDF jemals für die Einzelveröffentlichung gedacht gewesen, wäre auch eine ordentliche Fehlerbehandlung vorhanden. Für den Eigengebrauch muss ich nicht mit @error auf ungültige Werte reagieren. :P @CRouch Wie Bioshade schon sagte: Mit einem eigenen Array (oder Stack oder whatever) arbeiten. Oder eben in meiner Unset-Funktion die Eingabe überprüfen und den Fehler abfangen.