BCB6-problem!

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Icecap
Inlägg: 26612
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

BCB6-problem!

Inlägg av Icecap »

Miljö: PC, Win 98 - XP
Utvecklingsprog: Borland C Builder 6 (C++)
Problem: Jag har ett par variabler i registret som innehåller den senaste storlek på ett fönster som kan ändras av användaren, jag fångar storleksändringen via Form4->FormResize-event där jag läser den nya storleken och sparar i registret. Detta fungerar alldeles utmärkt, jag har kollat i registret och allt är OK.

MEN: när programmet startas upp gör den först av allt en 'resize' av formen under uppstarten och jag har inte hittat ett sätt att avgöra om det är uppstarten eller användare-ändring som kör.

För tillfället har jag löst det med att ha en boolsk variabel som sättas till falsk och sedan, när den rutin har kört en gång sättas till sant. Om denna variabel INTE är satt sparas värden INTE i registret, effekten är att den första gången rutinen kallas (av kreationen av fönstret) inte sparar värdet men de senare kall gör det.

I mina ögon är detta en ful lösning och jag skulle önska att det fanns ett sätt att läsa vem som initierar denna storleksändring. Är det någon som vet?
Användarvisningsbild
Icecap
Inlägg: 26612
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Hå hå ja ja.... jag hittade svaret själv. Jag kan använda 'Form4->Visible' som flagga, formen är inte synbar innan den kallas fram då den inte är main-formen, alltså är alla storleksändringar som görs när den inte är synlig såna som INTE ska sparas (i mitt fall).
Skriv svar