Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   C# C#Develop und ListView (https://www.delphipraxis.net/56032-c-develop-und-listview.html)

Bernhard Geyer 30. Okt 2005 19:40


C#Develop und ListView
 
Wieso sind beim ListView beim setzen des Dock-Properties auf einen Wert <> None die Headers nicht mehr sichtbar?
Hab ein einfaches Formular und das ListView auf Style Detail gesetzt.

Khabarakh 30. Okt 2005 20:43

Re: C#Develop und ListView
 
Liste der Anhänge anzeigen (Anzahl: 1)
Kann ich weder unter 2.0 noch 1.1 bestätigen :gruebel: . Oder habe ich etwas falsch eingestellt?

[OT] Die 2.0-Version sieht einfach genial aus :love: ... [/OT]

MathiasSimmack 30. Okt 2005 20:52

Re: C#Develop und ListView
 
Wart´s ab, bis du siehst, was du mit WinFX machen kannst. :love:

Bernhard Geyer 31. Okt 2005 11:40

Re: C#Develop und ListView
 
Komisch :gruebel:

hab jetzt ein zweites ListView aufs Form gelegt und die Properties entsprechend gesetzt und dort tritt dieses Fehlverhalten nicht auf. :gruebel:

Robert_G 31. Okt 2005 12:19

Re: C#Develop und ListView
 
Zitat:

Zitat von Khabarakh
Kann ich weder unter 2.0 noch 1.1 bestätigen :gruebel: . Oder habe ich etwas falsch eingestellt?

War ein bekannter Bug in Fidalgo, betraf zum Beispiel auch TabControls. (Ich kenne es eigentlich nur für TabControls... :gruebel: )
Da du wohl einen aktuelleren Fidalgo-Snapshot nimmst, hast du das nicht mehr.
Corsavy hat einen neuen Form designer, diese "Altlasten" scheinen sich nicht mehr in #d2 aufzuhalten. ;)

Zitat:

Zitat von Khabarakh
[OT] Die 2.0-Version sieht einfach genial aus :love: ... [/OT]

*Gähn...* :P

Bernhard Geyer 31. Okt 2005 12:25

Re: C#Develop und ListView
 
Zitat:

Zitat von Robert_G
War ein bekannter Bug in Fidalgo, betraf zum Beispiel auch TabControls. (Ich kenne es eigentlich nur für TabControls... :gruebel: )
Da du wohl einen aktuelleren Fidalgo-Snapshot nimmst, hast du das nicht mehr.
Corsavy hat einen neuen Form designer, diese "Altlasten" scheinen sich nicht mehr in #d2 aufzuhalten. ;)

Könnte sein. Hatte 'ne alte Version die zwar deinstalliert wurde und die neuestes Version installiert. Aber da kein Reboot nötig war, waren scheinbar doch noch Altlasten vorhaden die erst mit einem Reboot verschwunden sind.

Robert_G 31. Okt 2005 12:41

Re: C#Develop und ListView
 
Zitat:

Zitat von Bernhard Geyer
Könnte sein. Hatte 'ne alte Version die zwar deinstalliert wurde und die neuestes Version installiert. Aber da kein Reboot nötig war, waren scheinbar doch noch Altlasten vorhaden die erst mit einem Reboot verschwunden sind.

Da wäre ich mir nicht so sicher...
#d ist zu >95% reines .Net. Solche Effekte wird es wohl im gesamten Programm nicht geben, für den Formdesigner halte ich es für gänzlich ausgeschlossen.
Das Setup wird schon alles weggeworfen haben, und falls nicht: Eine neuere Version erwzingt das Vorhandensein von Assemblies, gegen die sie kompiliert wurde. Wenn also dein #d startete heißt es, dass alles an seinem Platz war. ;)
Den Bug scheint es demnach immer noch in deiner Version zu geben.

Was bin ich nicht schon wieder für ein Klugscheißer, der für eine halbe Ewigkeit kein Fidalgo angerührt hat... :duck:

Stanlay Hanks 31. Okt 2005 12:46

Re: C#Develop und ListView
 
Entschuldigt bitte das OT, aber mich würde brennend interessieren, wo man #dev 2 bekommen kann. Ich finde nur 1.1 :gruebel:

Robert_G 31. Okt 2005 12:56

Re: C#Develop und ListView
 
Zitat:

Zitat von Stanlay Hanks
Entschuldigt bitte das OT, aber mich würde brennend interessieren, wo man #dev 2 bekommen kann. Ich finde nur 1.1 :gruebel:

einfach nach Corsavy gegoogelt, unter den ersten 10 war:
http://community.sharpdevelop.net/fo.../ShowPost.aspx
über welches du das Corsavy Forum ereichst, in dem du erfährst wie du aktuellere Versionen beziehen kanst. ;)
http://community.sharpdevelop.net/fo...ShowForum.aspx

Stanlay Hanks 31. Okt 2005 13:02

Re: C#Develop und ListView
 
Danke Robert :) Mir war dieser Name gar nicht bekannt. :)

Khabarakh 31. Okt 2005 13:24

Re: C#Develop und ListView
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von Khabarakh
[OT] Die 2.0-Version sieht einfach genial aus :love: ... [/OT]

*Gähn...* :P

Das war im Bezug zur "derzeitigen Technik" gemeint :P . Allgemein sehen die Framework-Controls ja ähnlich wie das entsprechende Control der WinAPI aus, so einen netten Style hätte ich nicht erwartet. Dass ein Control in Avalon genial aussehen wird, muss man ja nicht mehr betonen :wink: .

MathiasSimmack 31. Okt 2005 13:29

Re: C#Develop und ListView
 
Zitat:

Zitat von Robert_G
Das Setup wird schon alles weggeworfen haben,

Das Setup ist ziemlich rabiat, was die Dateien im Programmordner angeht. Es lässt aber den Profilordner in Ruhe. Interessanter Effekt beim Updaten von .NET 2.0 Beta 2 auf .NET 2.0 Final: Meine integrierte Hilfe war verschwunden bzw. deaktiviert, obwohl alles korrekt installiert war. :shock: Lösung: Profilordner löschen. Ich habe keine Ahnung, wieso, aber es half. :lol:


Bzgl Corsavy: Das folgende VBSkript stammt aus meinem Fundus und setzt ein installiertes SubVersion voraus:
Code:
' New Fidalgo Repository
' Script Copyright (c) 2005 Mathias Simmack
On Error Resume Next
const scriptLogo     = "New Corsavy Repository Script"
const scriptCopyright = "Copyright (c) 2005 Mathias Simmack"

' initialize
Dim Sh, fso
Set Sh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")


' what about the parameter?
Dim repositoryDir
repositoryDir = WScript.Arguments.Item(0)

If repositoryDir = "" Then
   WScript.Echo scriptLogo & vbCrLf & scriptCopyright & vbCrLf & _
      "This script requires the name of a destination folder. Example:" & vbCrLf & vbCrLf & _
      WScript.ScriptName & " ""C:\Corsavy.Repository"""
   WScript.Quit
End If

If fso.FolderExists(repositoryDir) Then
   WScript.Echo scriptLogo & vbCrLf & scriptCopyright & vbCrLf & vbCrLf & _
      "The chosen folder """ & repositoryDir & """ does already exist."
   WScript.Quit
End If


' is SubVersion installed?
Dim svnApp
const subVersionKey = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\svn.exe\Path"
svnApp             = Sh.RegRead(subVersionKey) & "\bin\svn.exe"

If Not fso.FileExists(svnApp) Then
   WScript.Echo "SubVersion is not installed or not available. You can get it here" & _
      vbCrLf & "http://subversion.tigris.org/project_packages.html"
   WScript.Quit
End If


' call svn to download the latest repository files
const svnParams = "co svn://glumpatweri.emailgwiax.com/Corsavy/trunk"
Sh.Run svnApp & " " & svnParams & " " & repositoryDir, 1, true
Danach reicht ein simples:
Code:
cscript NewCorsavyRepository.vbs h:\MeinOrdnerfürCorsavy
und das Teil zieht sich den aktuellen Code in den zuletzt angegebenen Ordner. ;)

Bernhard Geyer 31. Okt 2005 14:51

Re: C#Develop und ListView
 
Zurück zu meinem Problem.

Das Problem ist scheinbar eine fehlerhafte Alignment-Implementierung.

Neues Formular
1, ListView auf Formular legen
2, Panel auf Formular legen
3, Panel auf Dock = Top setzen
4, ListView auf "Detail stellen
5, ListVie auf Dock = Fill setzen

Problem kann "gelößt" werden wenn ListView auf "ganz nach vorne" gesetzt wird.

Ähnliche Probleme sind auch zu beobachten wenn eine MainMenu ergänzt wird. Dann ist die höhenberechnung des Panels auch fehlerhaft.

Robert_G 31. Okt 2005 15:06

Re: C#Develop und ListView
 
Das hat nix mit einem Bug zu tun. ;)
In SWF gibt es die Z-Order. Diese bestimmt wie und woran Controls gedockt werden.
Der LV lag ganz hinten auf der form und füllte sie deshalb komplett aus. Erst als du ihn über das Panel gebracht hast, hat er es für seine Größe einberechnet. Einfach SDK Doku zu Control.Dock bzw. DockStyle befragen. ;)

Bernhard Geyer 31. Okt 2005 15:24

Re: C#Develop und ListView
 
Zitat:

Zitat von Robert_G
Das hat nix mit einem Bug zu tun. ;)

Da ist die Delphi-Implementierung aber einfacher zu verstehen.

Zitat:

Zitat von Robert_G
In SWF gibt es die Z-Order. Diese bestimmt wie und woran Controls gedockt werden.
Der LV lag ganz hinten auf der form und füllte sie deshalb komplett aus. Erst als du ihn über das Panel gebracht hast, hat er es für seine Größe einberechnet. Einfach SDK Doku zu Control.Dock bzw. DockStyle befragen. ;)

Und was mach ich jetzt mit dem MainMenu? Da kann ich diese "Nach vorne/hinten bringen" nicht anwenden.
Ind der IDE berücksichtigt das auf Top alignte Panel das Menu nicht, wenn es gestartet wird, wird das Menu berücksichtigt.

Robert_G 31. Okt 2005 15:38

Re: C#Develop und ListView
 
Zitat:

Zitat von Bernhard Geyer
Und was mach ich jetzt mit dem MainMenu? Da kann ich diese "Nach vorne/hinten bringen" nicht anwenden.
Ind der IDE berücksichtigt das auf Top alignte Panel das Menu nicht, wenn es gestartet wird, wird das Menu berücksichtigt.

Ups, das ist der gleiche Bug wie beim TabControl. Sorry, das hatte ich überlesen...
Ich hielt es schon wieder für den typ. "Align != Dock"-Beitrag.
btw: Es ist sogar sehr viel einfacher zu verstehen. Alignments in Delphi basieren darauf auf welcher Position das Control war bevor Align gestzt wurde, was zu nervigen Friemleleien mit Show/Hide und Splittern führt. Da finde ich die Z-Order doch viel logischer und sie ermöglicht dir ein links, rechts, whatever docked Panel anzuzeigen obwohl bereits andere Control darunter/darüber auf DockStyle.Left,Right,whatever stehen.
SWF hat nicht die Aufgabe exakt so zu funktionieren wie die VCL. ;)

Bernhard Geyer 1. Nov 2005 18:52

Re: C#Develop und ListView
 
Hab mir jetzt .NET 2.0 gezogen installiert und das passende SharpDevelop und muss gleich Problem festgestellt:

- Projekte werden konvertiert aber können (jedenfalls mein Testformular) nicht weiter verwendet werden.
- Es gibt z.B. kein MainMenu mehr sondern ein Menustrip ....
Also nochmal von Anfang mit der Entwicklung der GUI.

Aber jetzt kann ich das Menu auch in der Z-Order beeinflussen und hab damit kein Layout-Problem mehr in der IDE.

Und das das Layout verhalt anders als in der IDE ist - Man muß sich halt daran gewöhnen. Es ist mit sicherheit kein Projekt-Killer.

Robert_G 1. Nov 2005 19:01

Re: C#Develop und ListView
 
Zitat:

Zitat von Bernhard Geyer
- Projekte werden konvertiert aber können (jedenfalls mein Testformular) nicht weiter verwendet werden.

Es sind nun VS2005 Solution bzw. VS2005 Projekt dateien. Man kann also endlich ohne Konvertierung VS Solutions öffnen bzw. im VS #d Projekte benutzen. (Außerdem bekommt man so durch MsBuild das Build system frei haus. ;) )
Zitat:

- Es gibt z.B. kein MainMenu mehr sondern ein Menustrip ....
Also nochmal von Anfang mit der Entwicklung der GUI.
MSchaue doch mal richtig. Natürlich gibt es das alte Menü noch. ;)
Es ist nur besser versteckt bzw. per default nicht in der ToolBox, da man es eigentlich ab 2.0 nicht mehr benutzen sollte.
Zitat:

Aber jetzt kann ich das Menu auch in der Z-Order beeinflussen und hab damit kein Layout-Problem mehr in der IDE.
MenuStripes sind "normale" Controls. Außer dass du sie auch in einen ToolStripeContainer packen kannst.

Bernhard Geyer 1. Nov 2005 19:08

Re: C#Develop und ListView
 
Zitat:

Also nochmal von Anfang mit der Entwicklung der GUI.MSchaue doch mal richtig. Natürlich gibt es das alte Menü noch. ;)
Es ist nur besser versteckt bzw. per default nicht in der ToolBox, da man es eigentlich ab 2.0 nicht mehr benutzen sollte.
Also ich hab das Menu auch nicht mehr im Form-Designer gesehen (Außer "unten" im Bereich der "Ablagefläche von "Nicht-GUI-Controls"). Ich konnte also auch keine Menuitems mehr löschen/hinzufügen/...

Zitat:

Aber jetzt kann ich das Menu auch in der Z-Order beeinflussen und hab damit kein Layout-Problem mehr in der IDE.
MenuStripes sind "normale" Controls. Außer dass du sie auch in einen ToolStripeContainer packen kannst.[/quote]
Also hat man endlich auch im .NET 2.0 was nachgezogen was jede andere Framework schon seit langen hatte.
Ist auf jedenfall jetzt flexilber als die alten Menüs.

Robert_G 1. Nov 2005 19:13

Re: C#Develop und ListView
 
Zitat:

Zitat von Bernhard Geyer
Also ich hab das Menu auch nicht mehr im Form-Designer gesehen (Außer "unten" im Bereich der "Ablagefläche von "Nicht-GUI-Controls"). Ich konnte also auch keine Menuitems mehr löschen/hinzufügen/...

Das Menu war schon vorher nur eine Komponente, kein Control. ;) Du solltest es editieren können, wenn du drauf klickst, aber ich habe noch nie das alte Menüdings in Corsavy angefasst. ;)
Zitat:

Also hat man endlich auch im .NET 2.0 was nachgezogen was jede andere Framework schon seit langen hatte.
Delphi benutzt auch nur die Menüs und ToolBars der WinAPI. ;)
Zitat:

Ist auf jedenfall jetzt flexilber als die alten Menüs.
Jupp. :)

Bernhard Geyer 1. Nov 2005 19:18

Re: C#Develop und ListView
 
Zitat:

Zitat von Robert_G
Zitat:

Also hat man endlich auch im .NET 2.0 was nachgezogen was jede andere Framework schon seit langen hatte.
Delphi benutzt auch nur die Menüs und ToolBars der WinAPI. ;)

In D6/D7 wurde doch schon sowas ähnliches auf Toolbar-Basis nachgerüstet. Habs zwar auch nicht verwendet (da ich Unicode brauch und ElPack nehme), aber etwas ähnliches gibts und den "alten" IDE's schon einige Zeit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz