Martin4Scale
Nieuwe gebruiker
- Lid geworden
- 8 aug 2023
- Berichten
- 3
Hallo allemaal,
Ik heb een Access applicatie waarin op meerdere plaatsen in meerdere forms een listbox wordt gebruikt. Deze listboxes bevatten meerdere kolommen en worden gevuld op basis van een query. Zo wordt de historie weergegeven van eerder ingevulde waarden van dat scherm.
Sommige kolommen in de listbox bevatten langere teksten waarvan slechts een klein deel wordt getoond. Als deze kolom wordt aangeklikt wordt een pop up venster getoond met de volledige tekst. Andere kolommen bevatten een link naar een bijlage, wanneer die wordt aangeklikt wordt de bijlage geopend in de bijbehorende applicatie. Sommige kolommen bevatten een datum of een korte tekst en hebben geen achterliggende actie bij aanklikken.
Omdat in Access een listbox alleen een index heeft voor de rij maar de kolom niet bekend is bij aanklikken, heb ik op basis van de functie GetCursorPos de X-positie bepaald van de cursor en op die manier kan ik bepalen in welke kolom de muisklik heeft plaatsgevonden. Dat werkt allemaal prima.
Het gaat mis als ik de applicatie op een andere PC uitvoer want dan zijn de schermverhoudingen plotseling anders en kan ik er niet meer op vertrouwen dat de ingestelde kolom-grenzen nog juist zijn. Ik heb geprobeerd met behulp van de functie ScreenToClient dit te tackelen maar ik krijg dat niet aan de praat.
Heeft iemand hier ervaring mee en/of weet iemand een manier waarop ik de X-positie van de cursor onafhankelijk van de hardware kan gebruiken t.o.v. schermposities
Alvast dank voor jullie reacties.
Ik heb een Access applicatie waarin op meerdere plaatsen in meerdere forms een listbox wordt gebruikt. Deze listboxes bevatten meerdere kolommen en worden gevuld op basis van een query. Zo wordt de historie weergegeven van eerder ingevulde waarden van dat scherm.
Sommige kolommen in de listbox bevatten langere teksten waarvan slechts een klein deel wordt getoond. Als deze kolom wordt aangeklikt wordt een pop up venster getoond met de volledige tekst. Andere kolommen bevatten een link naar een bijlage, wanneer die wordt aangeklikt wordt de bijlage geopend in de bijbehorende applicatie. Sommige kolommen bevatten een datum of een korte tekst en hebben geen achterliggende actie bij aanklikken.
Omdat in Access een listbox alleen een index heeft voor de rij maar de kolom niet bekend is bij aanklikken, heb ik op basis van de functie GetCursorPos de X-positie bepaald van de cursor en op die manier kan ik bepalen in welke kolom de muisklik heeft plaatsgevonden. Dat werkt allemaal prima.
Het gaat mis als ik de applicatie op een andere PC uitvoer want dan zijn de schermverhoudingen plotseling anders en kan ik er niet meer op vertrouwen dat de ingestelde kolom-grenzen nog juist zijn. Ik heb geprobeerd met behulp van de functie ScreenToClient dit te tackelen maar ik krijg dat niet aan de praat.
Heeft iemand hier ervaring mee en/of weet iemand een manier waarop ik de X-positie van de cursor onafhankelijk van de hardware kan gebruiken t.o.v. schermposities
Alvast dank voor jullie reacties.