Hej, jag undrar bara om det är möjligt att tvinga fram en form och ha den alltid längst fram (always on top) och focus är alltid på? Jag vill alltså låsa ett fönster längstfram och man kan inte växla fönstret till ett annat... För att lägga ett fönster "Always on top" så kan du använda följande Win32-API : Per, länken som jag fick var på .NET... det är vb6 som jag är ute efter... <b>"Per, länken som jag fick var på .NET... det är vb6 som jag är ute efter..."</b>form "Always on top" och focused?
går det?
/TonySv: form "Always on top" och focused?
http://www.mentalis.org/apilist/SetWindowPos.shtml
Att låsa fokus verkar elakt mot användaren och jag hoppas nästan att det inte går :-)Sv:form "Always on top" och focused?
Jag har fått fönstret att stanna kvar längst fram. Det är focuset som är kvar att fixas.
Jag vet att det är ganska taskig att låsa fönstret så att allt annat inte går att komma åt men i mitt fall är det nödvändig...
Jag håller på att integrerar en funktion till en annan applikation. Denna applikation täcker hela skärmen så det är viktig att min fönster stannar kvar längst fram och är fokuserad så att användaren inte missar den.
Finns det verkligen inte något sätt att sätta fönstret längst fram och fokuserad (även om man försöker aktivera andra fönster?) Jag vill också påpeka att min fönster går att stänga ner om man klickar på krysset på högra hörnan. Det är inte nåt som låser hela datorn =)
MVH
TonySv: form "Always on top" och focused?
Nej då, det går bra att använda detta i VB6. Använd följande deklaration :
<info>
Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
</info>
och ta hjälp av exempelkoden.
<b>Angående Show(vbModal) :</b> TopMost och Show(vbModal) är inte riktigt samma sak. I praktiken blir Show(vbModal) ett TopMost-formulär för den aktuella applikationen. Med windows-API:et så ligger fönstret över alla andra fönster.
Jag har tyvärr fortfarande inga bra idéer när det gäller att "stjäla fokus", men kolla igenom API-listan på siten jag länkade till. Kanske finns det något där? Annars kanske man måste koppla på sig på windows meddelandekö (eller-vad-den-nu-heter-för-något) och ta bort alla TAB och ALT+TAB och liknande tangentkombinationer. Fast det där är utanför mitt kunskapsområde...är inte säker på att det ens är möjligt att göra så...