Focus na TStringGridzie

0

Witam,
mam taki problem:
w oknie potomnym(child) tworze sobie dynamicznie stringgrida ze zmiennym rozmiarem grida. W miedzy czasie zmieniam focus'a ze stringgrida na inny element zebym mogl go obsluzyc. kiedy koncze obsluge tego innego elementu chce z powrotem dac focusa gridowi. W tym momencie "zoom" na grida rzutowany jest na lewy górny róg grida, pomimo ze edytowalem wczesniej pola w dolnych czesciach grida (musialem zejsc paskami przewijania, nalezacymi do scroolboxa w dolne czesci grida). Czy da sie tego efektu uniknac przy dawaniu ponownie focusa ?
Jest to dla mnie istotne poniewaz chce dolozyc oblsuge rolki myszy i w tym momencie musze przenosic focusa pomiedzy gridem a scroolboxem (na nim umieszczony jest grid).
Dziwny problem i nie bardzo wiem jak go rozwiazac :/

0

Nie wiem czy dobrze zrozumiałem ale chyba chodzi o:

StringGrid1.SetFocus; //fokus
StringGrid1.Col:= 8; //kolumna
StringGrid1.Row:= 8; //wers
StringGrid1.EditorMode:= True; //tryb edycji komórki (musi byc w Options goEditing na True)
0

Niestety nie. Ogolnie wyglada to tak jakby albo wlasciciel albo rodzic probowal ustawic grida na pozycji pierwszej kolumny i wiersza (zeby byly widoczne). Pomimo ze wczesniej edytowalem dolne kolumny i wiersze. Paski przewijania rodzica-scrollboxa ustawiaja sie idealnie w takich pozycjach, ze moj stringgrid oparty jest o lewa i gorna krawedz scrollboxa. Pozniej oczywiscie jak juz mam tego focusa moge zejsc na dolne partie grida, ale to jest troszke uciazliwe i kiczowato wyglada. :/

0

Dobra rozwiazalem troszke naokoło problem ale dziala...dla tych ktorzy napotkaja ten sam problem, to moje rozwiazanie jest takie zeby zapamietywac pozycje suwakow rodzica, przy procedurze obslugi grida, np. przy onMouseDown. Pozniej po SetFocus'ie ustawic te pozycje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0