В программе?
Когда создешь файл–панель, второй параметр в конструкторе будет компонент, куда панель будетт посылать сообщения. Если ничего не указал, будет посылаться в be_app.
В это компоненте надо создать(перекрыть) функцию MessageReceived(BMessage* message).
Поля сообщения зависят от того, для чего файл–панель — для открытия или для записи.
Для записи поле message–>what будет B_SAVE_REQUESTED.
По этому признаку и решается, что пришло нужное сообщение.
Кроме того в сообщении будет два строчных параметра с названиями directory и name
Чтоб их вытащить из сообщения, заготовь два буфера char подходящей длины.
char papka[ДЛИНА–ДОРОЖКИ]
char imja[ДЛИНА ИМЕНИ].
А дальше так: message–>FindString(«directory», papka); message–>FindString(«name»,imja);
Re(2):BFilePanel
В программе?
Когда создешь файл–панель, второй параметр в конструкторе будет компонент, куда панель будетт посылать сообщения. Если ничего не указал, будет посылаться в be_app.
В это компоненте надо создать(перекрыть) функцию MessageReceived(BMessage* message).
Поля сообщения зависят от того, для чего файл–панель — для открытия или для записи.
Для записи поле message–>what будет B_SAVE_REQUESTED.
По этому признаку и решается, что пришло нужное сообщение.
Кроме того в сообщении будет два строчных параметра с названиями directory и name
Чтоб их вытащить из сообщения, заготовь два буфера char подходящей длины.
char papka[ДЛИНА–ДОРОЖКИ]
char imja[ДЛИНА ИМЕНИ].
А дальше так:
message–>FindString(«directory», papka);
message–>FindString(«name»,imja);
Re(3):BFilePanel
thanx.
Отправить комментарий