|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Выбор изображения, отображения его в окне программы и сохранение пути к нему. |
|
|
C/C++ - Выбор изображения, отображения его в окне программы и сохранение пути к нему.
|
Старожил Сообщения: 163 |
Профиль | Сайт | Отправить PM | Цитировать Помогите, пожалуйста
нужно создать окно программы, чтоб на нем была возможность, через кнопочку "Обзор", выбрать изображения(*.png, *.jpg, *.gif, *.bmp) и сохранить этот путь в файл patch.ini лежащий в той же директории, что и сама программа. + желательно над кнопочкой "Обзор" форму для пред-осмотра(preview) выбранного изображения. Помогите осуществить! |
|
Отправлено: 18:10, 25-01-2010 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата qE+:
#include <inifiles.hpp> ... void __fastcall TForm1::Button1Click(TObject *Sender) { String Path = ExtractFilePath(Application->ExeName); TIniFile *Ini = new TIniFile(ExtractFilePath(Application->ExeName)+"patch.ini"); Ini->WriteString("PATH", "Directory", Path); } Цитата qE+:
В нужный обработчик который открывает это диалоговое окно вписать |
||
------- Отправлено: 18:31, 25-01-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 163
|
Профиль | Сайт | Отправить PM | Цитировать Drongo,
при добавлении в кнопку строчек: String Path = ExtractFilePath(Application->ExeName); TIniFile *Ini = new TIniFile(ExtractFilePath(Application->ExeName)+"patch.ini"); Ini->WriteString("PATH", "Directory", Path); -*---*- На вкладке Dialogs у меня нет OpenPictureDialog, есть TOpenPictureDialog. Я перетаскиваю его, на окно моей программы, потом 2 разы щелкаю по созданной форме(чтоб перейти до редактирования кода в новой области), а оно открывает "Проводник" для выбора картинки.Непонятно как-то. -*---*- Подскажите что делать? или если вам не сложно, напишите готовый код всей программы для выполнения требуемых задач. |
Отправлено: 18:45, 25-01-2010 | #3 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата qE+:
Готовый код для выполнения требуемых задач. Нужны компоненты Button, Image. #include <inifiles.hpp> ... void __fastcall TForm1::Button1Click(TObject *Sender) { if(OpenPictureDialog1->Execute()){ Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName); String PathDirectory = ExtractFileDir(OpenPictureDialog1->FileName); String PathEXE = ExtractFilePath(Application->ExeName); TIniFile *Ini = new TIniFile(ExtractFilePath(Application->ExeName)+"patch.ini"); Ini->WriteString("PATH", "Directory", PathDirectory); } } |
|
------- Отправлено: 19:24, 25-01-2010 | #4 |
Старожил Сообщения: 163
|
Профиль | Сайт | Отправить PM | Цитировать Drongo,
Button это кнопка, а Image это TOpenPictureDialog??? -*---*- При добавлении строки: в основной код, приложение вообще не запускается, а при компиляции выдает ошибки: "E2451 Undefined symbol 'OpenPictureDialog1'" "E2451 Undefined symbol 'Image1'" как это понимать?? |
|
Последний раз редактировалось Virtyaluk, 25-01-2010 в 19:46. Отправлено: 19:35, 25-01-2010 | #5 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата qE+:
Цитата qE+:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "MyRunProgram.h" #include <inifiles.hpp> // Например сюда... #include <FileCtrl.hpp> //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } ... |
||
------- Отправлено: 19:52, 25-01-2010 | #6 |
Старожил Сообщения: 163
|
Профиль | Сайт | Отправить PM | Цитировать Drongo,
работает но вот очередная проблема(ы): -при открытии "Проводника" для выбора изображений из перечисленных, нужных мне форматов присутствует только *.bmp.Зато есть ненужные мне *.ico и другие. Как мне дописать нужные мне форматы и удалить не нужные?? -перетащил я Image куда нужно, работает все нормально т.е. при выборе картинки в "Проводнике" она отображается в этой форме.Но проблема в том что если картинка большая(например, 1280х1024 пикселей) то только ее часть отображается в форме Image. Как исправить эту нелепость т.е. чтоб в заданной форме отображался весь рисунок?? -и не сохранился путь к картинке в ini-файл. или эта функция при обычном(не откомпилированном) запуске не работает, надо только компилировать?? |
Отправлено: 22:17, 25-01-2010 | #7 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата qE+:
Цитата qE+:
Цитата qE+:
|
|||
------- Последний раз редактировалось Drongo, 26-01-2010 в 13:49. Причина: Дополнил... Отправлено: 12:46, 26-01-2010 | #8 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Цитата qE+:
|
|
------- Отправлено: 18:26, 26-01-2010 | #9 |
Старожил Сообщения: 163
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Drongo:
А как удалить *.ico и другие не нужные форматы? |
|
Отправлено: 03:20, 27-01-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - Пользовательская настройка порядка отображения меню пуск -> все программы | hotdog_01 | Microsoft Windows 7 | 3 | 17-11-2009 10:35 | |
[решено] Вернуть имя ЕХЕ из полного пути к нему | FlatX007 | AutoIt | 2 | 14-05-2009 12:12 | |
[решено] Сохранение изображения(captcha) | aesir | AutoIt | 13 | 02-05-2009 21:36 | |
Графика - Бесплатные программы для изменения формата изображения | firedevil | Программное обеспечение Windows | 2 | 01-01-2009 21:28 | |
C/C++ - Проблема отображения программы | Jonik-Mnimonik | Программирование и базы данных | 4 | 08-05-2008 16:39 |
|