Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


.NET - Meny komponent, lite div. hjälp

Postades av 2003-10-08 21:19:52 - Oskar Johansson, i forum vb.net, Tråden har 6 Kommentarer och lästs av 1783 personer

Hej!

Jag har nu suttit några veckor och lyckats generera ca. 55 KB med kod i vb.net med utgångspunkt ifrån ett exempel jag hittat. Nu har jag dock några få problem att lösa:

1) Win32API: Hur kan jag utifrån hWnd för menyn sätta bordern till ingenting? Den lösning jag använde innan var att använda SetWindowRgn-apiet, men det blev inte riktigt bra då pga. att det blev lite gråa, fina saker på de fönster som låg bakom... :/ Jag måste helt enktl få bort ramen på ett vettigare sätt

2) Någon som kan beta-testa lite? Komma med kommentarer etc.? Jag lägger upp en länk till nedladdningsbar kod så fort jag har fått ordning på problem 1.

Hela koden bygger på att man har en vanlig meny sedan innan (MainMenu eller ContextMenu) som man sedan adderar, sedan är det en stor, fin klasstruktur som laddas som gör det möjligt att använda olika Drawers för de olika menuitemen, enda kravet är att de följer ett visst interface... :)

PS.
Anledning till denna kod var att få in bilder i menyn, men det blev visst lite mer än så... :)
DS.


Svara

Sv: .NET - Meny komponent, lite div. hjälp

Postades av 2003-10-08 21:48:08 - Oskar Johansson

Hm... har klurat ut en "halv" lösning på första problemet: åsidosätt paint-meddelandena för bordern, men jag behöver fortfarande lite hjälp med hur jag får tag på vad som finns "bakom" menyn... Dvs. vad som är ritat bakom menyn så att jag kan rita tillbaka det då när man stänger en meny så ligger en lite bit av menyn kvar... :/


Svara

Sv: .NET - Meny komponent, lite div. hjälp

Postades av 2003-10-08 22:26:43 - Oskar Johansson

Hm.. Hittade lite kod för det också... :) Hm... Varför skall alla lösningar komma på samma kväll... :/


Svara

Sv: .NET - Meny komponent, lite div. hjälp

Postades av 2003-10-09 21:41:41 - Oskar Johansson

Frågan kvarstår, kan jag få bort bordern?


Svara

Sv: .NET - Meny komponent, lite div. hjälp

Postades av 2003-10-10 00:17:26 - Mattias Sjögren

>1) Win32API: Hur kan jag utifrån hWnd för menyn sätta bordern till ingenting?

Hur fick du HWND för menyn? Vad jag vet finns det inget supportat API för det.


>Jag måste helt enktl få bort ramen på ett vettigare sätt

Du är inte den förste som försökt, tro mig. Folk brukar ge upp, inse att det är omöjligt och implementera sina egna menyer från grunden istället.


MS


Svara

Sv: .NET - Meny komponent, lite div. hjälp

Postades av 2003-10-10 08:57:56 - Roger Alsing

som MS säger , det är nog svårare än det verkar.

en lösning jag sett var gjord i vb6 , där gjorde kontrollen en processhook för host appen , och kunde på så sätt fånga hwnd till menyn när den visades.
hwnd för menyn kom då med i något notify meddelande av något slag , minns inte vad det var men det gick iaf...
(känns inte helt lätt..)

men om du väl får tag på hwnd till menyn så kan du kolla på wm_ncpaint och wm_nccalcsize ..
(med wm_nccalcsize så kan du ändra klientareans storlek/position för ett hwnd , och wm_ncpaint kan du använda när du vill rita något på det som inte är klientarean , tex en border eller caption)

//Roger

[edit]

många komponenter som erbjuder xp menyer fuskar ganska friskt.
alla jag sett har varit riktiga kontroller som lägger sig överst i ett fönster.
där själva huvudmenyn sedan ritas , när man sedan klickar på en item i fuskmenyn så visar kontrollen en riktig meny i form av en popupmeny.

(det är tex så dontnetmagic libbet gör)

[/edit]


Svara

Sv: .NET - Meny komponent, lite div. hjälp

Postades av 2003-10-10 16:59:30 - Oskar Johansson

Jo, den exempel-kod jag hittade hookad det riktiga fönstret, och för varje gång ett visst meddelande skickades igenom så kollade den om klass-namnet var det som används för menyer. Om det var en meny så blev menyn subclassad genom lite mojs i gojs kod så...

Som jag har det nu så gör jag helt fräckt så att jag skippar utritningen av bordern. Förut hade jag så att jag körde med apiet SetWindowRgn vilket gjorde det möjligt för mig att gömma border-delen av fönstret. Problemet med det var att det blev en grå kant kvar där menyn hade varit ända tills det fönster som låg bakom hade ritat om sig...

Nu tycker jag att jag har prövat en hel del... :/ Jag har hWnd för varje meny... Om det bara hade funnits nå't api för att få hMenu utav hWnd eller tvärtom... :/


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 691
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies