Помогите с файлами конфигурации. Как загрузить из файла например расположение какого нибудь контрола. Ато когда я пытаюсь загрузить ширину кнопки, то или она хрен его знает какого размера,или очень маленькая. Заранее спасибо. Р.С. Я самоучка так что плиз не смейтесь.
Во-первых, в Windows есть замечательные функции GetPrivateProfileString, GetPrivateProfileInt и GetPrivateProfileStruct. Во-вторых, если вы используйте свой парсер ини-файлов, то проверьте правильно ли читаете значения из файла. Хотя бы MessageBox выводите всё что прочитали из файла. Если вы используете парсер Windows или ваш парсер корректен и вы не перепутали параметры, которые предаёте CreateWindowEx (или MoveWindow), то причин неправильно располагаться контролам нет. Больше без кода сказать не могу. P.S. Как я понимаю вы используете ini-файл для хранения форм приложения. Могу посоветовать использовать вместо ini-файлов ресурсы. Это намного удобнее. Кстати, не только для форм, но и для хранения строк локализации, значков etc. Всего кроме изменяющихся настроек.
Код на данный момент не могу прислать исходник так как сижу с телефона. А ini-файл нужен для сохранения настроек.(типа скин). А за апи спс, но дай плиз пример к GetPrivateProfileInt
Код (Text): Left := GetPrivateProfileInt("MainWindow", "Left", 0, "C:\MyApp.ini"); Top := GetPrivateProfileInt("MainWindow", "Top", 0, "C:\MyApp.ini"); Width := GetPrivateProfileInt("MainWindow", "Width", 0, "C:\MyApp.ini"); Height := GetPrivateProfileInt("MainWindow", "Height", 0, "C:\MyApp.ini"); MoveWindow(hWnd, Left, Top, Width, Height); Вот. Главное, что последний параметр - имя ini-файла - должен быть абсолютным путём. Получить его из относительного можно, например, через GetFullPathName. Кстати, что вы думаете насчёт ресурсов? Можно подгружать DLL и брать из неё ресурсы. Лично я сторонник программ, которые используют всё, что даёт WinAPI и лишь если нужная функция отсутствует пишут свою. Кстати, при использовании ресурсов для их построения можно использовать специальные редакторы, которые позволяют разрабатывать диалоги не путём прописывания строчек в ini-файл, а путём перетаскивания контролов на диалог.
Спс за инфу. Мне нужно чтобы программа сама изменяла позицию например кнопки путем загрузки/сохранения из/в ини файл.
Список функций по категориям: Файлы INI GetPrivateProfileInt GetPrivateProfileString GetProfileInt GetProfileString WritePrivateProfileString WriteProfileString
Ну тогда другое дело. Хотя функции изменения ресурсов в WinAPI есть, но они работают с ресурсами на уровне байтов, поэтому пришлось бы разбираться с форматом ресурсов диалогов. Кстати, для двоичных структур есть WritePrivateProfileStruct, а вот WiteInt нету - надо самому преобразовывать число в строку.
GetPrivateProfileSectionNames GetPrivateProfileString описание и примеры использования смотри в MSDN.
Toxasoft под чистый винапи нету есть от мелкомягких монстр msxml со всеми вытекающими - сом объекты, интерфейсы итп но полно других библиотек, например tinyxml http://www.grinninglizard.com/tinyxml/