Problemy z kilkoma komponentami w Turbo C++ 2006

Witam.

Mam problem z kilkoma komponentami w Turbo C++ 2006. A dokładnie:

  1. TMainMenu.

Stworzyłem 3 zakładki (Plik, Edycja, Opcje). Zakładka Plik posiada kilka itemów (m.in. “Otwórz obraz”). Jak sprawić za pomocą kodu w programie, aby “Otwórz obraz” miało właściwość Enabled ustawioną na false?

  1. TOpenPictureDialog.

W komponencie powyższej klasy ustawiłem filtr na tylko i wyłącznie pliki BMP. Jeśli podczas wyboru pliku kliknę na skrót jakiegoś folderu to wyskoczy błąd (Project Projekt.exe raised exception class EInvalidGraphic with message ‘Unknown picture file extension (.Ink)’.)

  1. TGroupBox + TCheckBox

Można jakoś łatwo stworzyć komponent klasy TGroupBox, który zamiast właściwości Caption będzie miał CheckBox’a?

  1. Zależy jak nazwałeś ten item “Otwórz obraz” jeżeli np mnuOtwObr to mnuOtwObr->Enabled=false;

  2. W opcjach jest (nie pamiętam jak się nazywa) ale coś z linkiem, traktować jako plik czy jako link.

  3. Łatwo nie, ale możesz nic nie dać w Caption GroupBox’a a CheckBox’a ustawić obok GroupBox’a a potem “nasunąć” na obszar gdzie ma być Caption.

Zależy jak nazwałeś ten item "Otwórz obraz" jeżeli np mnuOtwObr to mnuOtwObr->Enabled=false;

No w sumie tak. Banał! A ja sie ciągle odwoływałem do MainMenu1->… i sie zastanawiałem czemu tam nie ma OtworzObraz :?: 2.

W opcjach jest (nie pamiętam jak się nazywa) ale coś z linkiem, traktować jako plik czy jako link.

Nie mam pojęcia o co chodzi, ale poszukam jeszcze. 3.

Łatwo nie, ale możesz nic nie dać w Caption GroupBox'a a CheckBox'a ustawić obok GroupBox'a a potem "nasunąć" na obszar gdzie ma być Caption.

Też tak myślałem, ale wolałem znaleźć gotowy komponent :]

  1. TOpenPictureDialog->Options ustawić ofNoDereferenceLinks

  2. To zrób sobie sam taki komponent, nie jest to prymityw ale nic specjalnie skomplikowanego;

TOpenPictureDialog->Options ustawić ofNoDereferenceLinks

Niestety nie działa :frowning:

ofNoDereferenceLinks Disables dereferencing of Windows shortcuts. If the user selects a shortcut, assigns to FileName the path and file name of the shortcut itself (the .LNK file), rather than the file linked to the shortcut.

Czyli ma być ustawiony na false.

Jest na false i nadal się sypie. Wszystkie opcje są tam ustawione na false. Może to nie to? :?:

W opcjach debugera Language exception ustaw aby nie zatrzymywało się na wyjątku EInvalidGraphic.

Zauważ że to tylko podczas uruchomienia pod debugerem tak się dzieje.

ofNoDereferenceLinks ma być false jeżeli chcesz aby przechodziło na link.

Na true warto ustawić tylko ofPathMustExist, ofFileMustExist

Rozumiem, że miałem dodać tej wyjątek do listy? Bo go tam nie znalazłem. Ale dodałem i wszystko działa :slight_smile:

Ja się od razu nie domyśliłem o co biega ponieważ ten wyjątek dodałem tam jakieś 6 lat temu :smiley: