WPF: Child windows , oder MDI?
-
ich vermute man muss das GetWindowRect von Win32 kapseln
-
oh man, das ganze ist aber auch ne eierlegende wollmilch sau
-
wie meinst du das ?
falls es dir hilft - ich hatte mal SHGetFileInfo gekapselt - mit GetWindowRect muesste es simultan laufennamespace Helper { [StructLayout(LayoutKind.Sequential)] public struct SHFILEINFO { public IntPtr hIcon; public IntPtr iIcon; public uint dwAttributes; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] public string szDisplayName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] public string szTypeName; }; class Win32 { public const uint SHGFI_ICON = 0x100; public const uint SHGFI_LARGEICON = 0x0; // 'Large icon public const uint SHGFI_SMALLICON = 0x1; // 'Small icon [DllImport("shell32.dll")] public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags); } } IntPtr hImgSmall = Helper.Win32.SHGetFileInfo(fullName, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), Win32.SHGFI_ICON|Win32.SHGFI_SMALLICON);
-
ich meine das mhier weider direkt wieder mal WinAPI funktionen einbinden muss.
Hey wie findest du den der artikel:
-
er hat im prinzip genau das selbe gemacht
Since I could not add a window to a control in WPF (at least not the way I wanted to), I created a custom control which was styled to look like a window
er hat nur statt ein UserControl ein Custom Control genommen - nur so wie es auschaut muss er den rahmen usw auch in jedem custom control neu zeichnen - durch die page brauchst du das nicht
und die ganzen propertys wie transparent - draggable usw ist entweder ind er usercontrol bereits vorhanden oder man kann es leicht implementieren// er halt also ein eigenes control gemacht was ein "Window" simuliert und "SubWindows" als children annimmt - da find ich unsere loesung schoener #gg
-
bei seiner lösung muss ich aber die verschieben/größer/minimieren gedöns nicht mehr implementieren
-
schaus dir doch ab q: #gg
wenn cih mit den code so anschau - er hat den gesammten client bereich mit einem MwiWindow ueberdeckt - und dieser beinhaltet als Children dann die fenster "MwiChild"
wenn ich so mit dem code rumspiel - so richtig gefaellts mir nicht q: #gg
zudem mag ich diese buttons fuer minimieren und schliessen nicht - diese variieren doch je nach system
ich dacht das man sich diese auch vom system holt und dann anzeigt
-
ja hab mir den code angescahut, aber so richtig involviert bin ich in c# wpf noch net, hab zwar einiges gemacht.. aber das ist schon ein gutes stück stoff. Das Problem ist halt, das ich nun neue UserControl abgeleitet von MwiChild erstellen will.. aber das ist wohl net so einfach möglich
-
so wie ich das sehe basiert sein code darauf das du das content der ChildWindow fenster im hauptfenster definierst - so wie unsere erste loesung das schon konnte
daher ist es bestimmt einfach das du dir das drag&drop&resize abschaust wie das implementiert wurde
-
oh man das wird ein aufwand, das so hinzubiegen. Aber das prinzip mit dem MwiWindows control welche die Usercontrol beinhaltet ist ja gar nich so schelcht oder? dann könnte ich deine version als Child Windows benutzen.
-
wozu?
die usercontrols aus unserer version kann doch direkt in dem Window landen wie jedes andere control auch
- wozu noch ein control dazwischen, seh da kein nutzen
-
das hier find ich gut
=> drag in canvas : http://www.codeproject.com/KB/WPF/DraggingElementsInCanvas.aspx
-
Guten Morgen evil...alles klar;) Ich bin hin und her gerissen, ich habe mir mal das DEComponents Trial http://www.devcomponents.com/ runtergeladen. Funktioniert ganz gut, allerdings wenn ich eine exe auf ner anderen maschine startte welche devcomponents control verwendet stürtzt das programm beim starten ab. Auf der anderen maschine hab die gleichen framesworks und auch das DevCompoents gedöns installiert.
Aber ich denke du kannst mir da auch net weiter helfen oder?
-
ne sorry - aber kanns sein das die app dann eine zusaetzliche dll braucht welche mit kopiert werden muss ?
-
hmm... müsste ich mal schaun, gibt es nich bei .NET ne möglichkeit ein Programm kopiergeschützt zu übersetzen, so das es nur auf best. maschinen läuft?
-
da bin ich ueberfragt sorry
BTW, ich brauch noch ein BetaTester fuer mein WPF spiel - interesse ? {o;
kontakt: Mr.Evil.evl@gmx.net
-
kann ich mal machen;) aber momentan ist zeitlich bischen schwierig;)