Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4

Модерирует : ShIvADeSt

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
Maks150988
А IsWindowVisible можно применять к оконному хендлу DBGridEh? Я тоже думаю, что у АПИ есть такие инструменты, но хотелось бы поподробнее. А то я метаюсь в памяти какие-то GetHitTest и GetWindowPlacement, не знаю откудава взяться.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 22:08 02-02-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
А IsWindowVisible можно применять к оконному хендлу DBGridEh?

Мона и нуна
        if IsWindowVisible(StringGrid1.Handle) then ShowMessage('OK');
на стринггриде все отлично работает.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:19 03-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
Frodo_Torbins
Maks150988
Спасибо Всё работает просто отлично! Именно так как я хотел и интуитивно понятно. Для меня решилась очень большая проблемма. Я рад.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 09:54 03-02-2009 | Исправлено: delover, 20:19 03-02-2009
StalkerSoftware



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
Как узнать видно контрол или не видно?

А чем метод CanFocus для наследников TWinControl не устраивает ?

Всего записей: 683 | Зарегистр. 23-06-2008 | Отправлено: 17:34 03-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
StalkerSoftware
Какой же я тупой!!! Так наверное тоже можно. Просто до этого я мало на это обращал внимания (на эту сторону вопроса). Пришлось обратить, так как давненько используют мои акции, ограничиваемые правами пользователя и то, что стандартно для Дельфи, а у других вызывает впечатление, что это я там что-то неправильно напрограммировал. Вот и хотелось чтобы акции, привязанные к контенту, обращали внимание на видимость контента при использовании шорткатов.
Спасибо всем.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 20:26 03-02-2009 | Исправлено: delover, 07:31 04-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
StalkerSoftware
Мне привели контраргумент - у TMS-ов есть самосворачиваемая панелька красивая, вот если фокус в ней, а её свёрнули, то фокус там и остался, и ввод в строку редактирования работает, хотя ничего не видать, и переключение табом работает, но как обьяснить разницу между компонентом с высотой ноль и неактивным табщетом я без понятия. Мои объяснения того, что если специально добиваться глупого поведения, то добъёшся, мои объяснения не помогли.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 08:08 04-02-2009
ufimez2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
здравствуйте.
решил дельфи 7 поизучать. все нормально получается пока и тут решил упростить программу - вынести часть процедур в отдельный модуль.
не привязанные к форме процедуры и функции легко выносятся
Function MyCreateDir(Dir:string): Boolean;
begin
  result:= true;
  .......
end;
а как вынести в отдельный модуль следующую функцию?
procedure TMainForm.Button2Click(Sender: TObject);
begin
  exit;
end;
 
создается все в главном модуле типа этого
//**blank form unit
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes,  
Graphics, Controls, Forms, Dialogs;
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
end. //this ends the unit
   
а мне надо перенести его в другой типа этого.
 
//**blank code unit
unit Unit2;
interface
{interface code goes here}
implementation
{implementation code goes here}
end. //this ends the unit

Всего записей: 102 | Зарегистр. 16-02-2006 | Отправлено: 08:40 04-02-2009
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня собственное такой вопросец. Хочу создать свой класс окна для отрисовки воего вида кнопок. С этим проблем нет впринципе. У меня только непонятки как вообще обрабатывать выполнение какого-либо действия в WM_LBUTTONUP независимо. А то есть много примеров с гиперссылкой, там SetProp и GetProp и вот это значение используют как www адресок. А тут же процедура например или функция должна выполниться. Как вообще надо делать?

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 11:29 04-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ufimez2
1)Процедуры описываемые в секции interface обязательно должны быть реализованы в implementation.
2)Описание любой формы должно находиться в секции interface. Если его там не будет, то Delphi "не узнает" форму, для Вас будет недоступен её дизайн в инспекторе объектов.
3)Методы майн формы реализуются в модуле майнформы, иначе смотри пункт 1 и 2, а потом определи какой модуль в троей программе главный.
4)Есть гемор типа {$i kuku.pas}, но это удовольствие мазо, или профессионал, что одно и то же по сути.
 
Maks150988
Предположу что SetProp и GetProp работают с паблишед полями. Они есть только у TPersistent. Можно создать свой типа персистент, но он точно - лучше не будет. Реши что за класс, юзает он овнеров и dfm?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 12:56 04-02-2009
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
* очень сильно удивлен... Не понял если честно что вы хотите.
Мне просто BitBtn свой сделать без VCL надо с наворотами некоторыми. Это можно тупым способом засабклассить каждую требуемую кнопку для обработки наведения курсора на нее, но гораздо проще создать свой класс окна, куда методом SetProp нафигачить своих свойств в контрол (например название ресурса рисуемого значка на контроле), тем более уже не надо для каждой кнопки обрабатывать оконную процедуру, все будет делаться через одну оконную процедуру класса. Или я не уж сильно фигню хочу сделать?

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 17:25 04-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988
Я Вас не понял. SetProp имеет отношение к паблишед? Мне сложно представить.
 
Спустя три года заглянул в свой квелити централ. Оказывается были ответы и умные люди сегодня убедили меня, что я не был уродом. Они отвечали с юмором.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 21:01 04-02-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover

Цитата:
Я Вас не понял. SetProp имеет отношение к паблишед? Мне сложно представить.  

SetProp (GetProp) - апишные функции, при наличии отстутсвия VCL - ими можно контролам (не компонентам) различные свойства давать, чтобы не заводить тучу переменных. Представлять не надо, достаточно один раз увидеть.
 

Цитата:
Мне просто BitBtn свой сделать без VCL надо с наворотами некоторыми. Это можно тупым способом засабклассить каждую требуемую кнопку для обработки наведения курсора на нее, но гораздо проще создать свой класс окна, куда методом SetProp нафигачить своих свойств в контрол (например название ресурса рисуемого значка на контроле), тем более уже не надо для каждой кнопки обрабатывать оконную процедуру, все будет делаться через одну оконную процедуру класса. Или я не уж сильно фигню хочу сделать?

Сам пробовал в свое время сделать класс аналог спидбаттона на апи, но забил, так как с классами не дружу. Щас может бы и получилось (инет и вперед), но привык сабклассить, да и смысла нет - в то время изучал АПИ и было интересно. Начни делать класс, попробуем помочь - просто мне интереснее чужой код править, чем самому набивать За аналог возьми (если найдешь) исходники от Warp (там ownerdraw menu создают на АПИ с использованием класса), посмотри может поможет. Если не найдешь - напиши в личку, выложу на обменник.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:09 05-02-2009
George_Lucky



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, добрый день!
Есть следующий код по замене куска текста в MS Word:
 
word.Selection.Find.Text := str1;
word.Selection.Find.Replacement.Text := str2;
 
так вот, если str2 - большого размера, OLE сервер не может принять такой параметр.
Подскажите, как можно увеличить размер вставляемого текста, либо каким иным
способом это можно сделать?
Спасибо!

Всего записей: 413 | Зарегистр. 12-09-2002 | Отправлено: 07:10 05-02-2009
ufimez2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
George_Lucky разбить str2 на блоки способные принять оле сервером
 
 
Добавлено:
можно например вначале обнулить выделенный текст потом, имеем позицию курсора на месте бывшего текста для замены и начинаем вставлять блоки текста
 
Добавлено:
delover спасибо, а можно чуть подробнее по {$i kuku.pas} или ссылку

Всего записей: 102 | Зарегистр. 16-02-2006 | Отправлено: 09:07 05-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ufimez2
1. Напиши в коде "{$I GETMEM.INC }". И поставь курсор между $ и I. Нажми F1.
  (Include files reference).
2. Открой System.pas (напиши System, на нём Ctrl+Enter) найди в нём строку {$I GETMEM.INC } и так же Ctrl+Enter.  
 
 
all
Как найти примеры использования xdom? Там много функций ковертации в правильный xml с символами типа "П". Я хочу сохранить XMLDocument в этом формате без указания Encoding. Как это делается?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:01 05-02-2009
Mandor Sawall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Что значить "без указания Encoding"? Атрибут encoding - обезятельной для XML.

Всего записей: 119 | Зарегистр. 20-03-2003 | Отправлено: 16:11 05-02-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mandor Sawall
Для XML и понятий состоятельного документа этот атрибут обязателен. Для компонента TXmlDocument, для интернет эксплорера и для одной сторонней программы экспортирующей свои данные он не обязателен. Я просто реализую сохранение своих данных в таком же формате. Кстати TXmlDocument возвращает все данные нормально безо всяких усилий. я вижу при чтении не Р а русскую букву. Энкодинг при построении XML я тоже не указываю, всё работает, хотя это по БОЛШИМ понятиям не правильно. Но я хочу чтобы мои данные были доступны теми же средствами.  
 
Задача в силе. Я не могу найти примеров xdom, хотя там много чего есть. Ещё задача как пропихнуть в XML документ свои амперсенды &, а не с заменой на &?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 16:24 05-02-2009
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
Вот, на "скорую руку" сделал. class_bitbtn_src.zip Сейчас уже и проверять неохото на наведенность курсора и нажатость/отжатость кнопки. Может вы подрехтуете пример.
Пока из замеченных ошибок - это отрисовка кнопки при нажатии/отжатии и неотрисовка при перемещении окна за границы экрана/другое окно - все вперемежку рисуется на кнопке. Наверняка сдуру недоделал инвалидейт для контрола, хотя вроде все правильно, либо опять смещение координат происходит и все накладывается на HDC. Ну его нафиг...
Короче нужно чтобы по нажатии на кнопчоку эту выполянлось нужное действие, этих кнопок естественно может быть несколько и вообще нужен способ передачи управления процедуре/функции. надеюсь понятно объяснил.

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 22:17 05-02-2009
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988

Цитата:
Вот, на "скорую руку" сделал. class_bitbtn_src.zip Сейчас уже и проверять неохото на наведенность курсора и нажатость/отжатость кнопки. Может вы подрехтуете пример.  

В том то и дело, что ты не создавал класса. Поэтому вторая кнопка с таким глючным поведением. Попробую помочь, но не на этой неделе, скоро выходные - не до программирования.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:21 06-02-2009
Mandor Sawall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Извините, не понял. Сможете преформулировать проблема? Например: "Средствами MS XML (или не имеет значение?) сделать фрагмент кода, которой...".
 
Добавлено:
А если укажете и тестовой пример, еще лучше - что подаете на вход, что хотите получить на выход.

Всего записей: 119 | Зарегистр. 20-03-2003 | Отправлено: 09:10 06-02-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru