Форум: "Прочее";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
ВнизTWebBrowser моргает при Resize Найти похожие ветки
← →
Василий (2007-09-06 12:34) [0]Помогите, что делать? Моргает и всё тут. При ресайзе формы.
← →
DimaBr © (2007-09-06 13:00) [1]Удалено модератором
← →
Василий (2007-09-06 13:27) [2]А куда мне обратиться с этой проблемой? Не вижу тут ничего нарушающего.
← →
tesseract © (2007-09-06 13:35) [3]
> Помогите, что делать? Моргает и всё тут. При ресайзе формы.
doublebuffered попробуй поставь у формы.
← →
Василий (2007-09-06 13:43) [4]FDoubleBuffered не помог. :((
← →
homm © (2007-09-06 13:47) [5]У всех не моргает, а у тебя моргает?
Видимо есть причины. На форме что-то такое лежит.
← →
Василий (2007-09-06 13:54) [6]Да, TWebBroser лежит на TPageControle. Моргают картинки на странице wb.
← →
Ш-К (2007-09-06 15:01) [7]Сделать ничего нельзя.
← →
Василий (2007-09-06 15:11) [8]Ух. Спасибо, обрадовал! :) А я то уж испугался, что есть решение этой проблемы. :(((((
← →
Черный Шаман (2007-09-06 15:48) [9]
> Василий (06.09.07 13:54) [6]
>
> Да, TWebBroser лежит на TPageControle. Моргают картинки
> на странице wb.
>>Василий (06.09.07 13:43) [4]
>>FDoubleBuffered не помог. :((
А FDoubleBuffered на TPageControle?
Попробуй это(сперва лочишь, потом разлочиваешь):
procedure LockControl(c: TWinControl; bLock: Boolean);
begin
if (c = nil) or (c.Handle = 0) then Exit;
if bLock then
SendMessage(c.Handle, WM_SETREDRAW, 0, 0)
else
begin
SendMessage(c.Handle, WM_SETREDRAW, 1, 0);
RedrawWindow(c.Handle, nil, 0,
RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
end;
end;
← →
Василий (2007-09-06 15:53) [10]
> Попробуй это(сперва лочишь, потом разлочиваешь):
На каком этапе работы программы это использовать?
← →
Черный Шаман (2007-09-06 15:55) [11]
> Василий (06.09.07 15:53) [10]
>
>
> > Попробуй это(сперва лочишь, потом разлочиваешь):
>
>
> На каком этапе работы программы это использовать?
Перед началом изменения данных/размера лочить, после изменения разлочивать.
← →
Ш-К (2007-09-06 16:31) [12]Что вы напрягаетесь. Все эти советы с DoubleBuffered относятся к TOLEControl. Вы его, контейнер, будите "правильно" перерисовывать.
Достучаться до внутренней реализации OleObject через методы TOLEControl вы не сможите. Если там только нет соответствуещего интерфейса. У IWebBrowser2 и всего, что с ним связано такого интерфейса нет.
Вы работаете с отдельным СОМ приложением, которое понятие не имеет о существовании каких-то там внешних TWinControl.
← →
Василий (2007-09-06 16:32) [13]Ш-К видимо прав. :(
Не работает.
← →
Lacmus © (2007-09-06 17:17) [14]
unit Unit51;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, ComCtrls;
type
TTabSheetEx = class(TTabSheet)
procedure CreateParams(var aCreateParams: TCreateParams); override;
end;
TTabSheet = class(TTabSheetEx);
TForm51 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
WebBrowser1: TWebBrowser;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form51: TForm51;
implementation
{$R *.dfm}
procedure TTabSheetEx.CreateParams(var aCreateParams: TCreateParams);
begin
inherited CreateParams(aCreateParams);
with aCreateParams.WindowClass do
Style := Style and not (CS_HREDRAW or CS_VREDRAW)
end;
procedure TForm51.FormShow(Sender: TObject);
begin
WebBrowser1.Navigate(...);
end;
← →
Ш-К (2007-09-06 18:44) [15]Ура работает!!!
А когда я искал, мне хрен, кто помог.
Вот так, напишешь, что невозможно. И сразу ответ будет.
А если б не написал, Lacmus (мое почтение) и не соизволил бы отвечать.
← →
Черный Шаман (2007-09-06 19:54) [16]А еще так можно
procedure TForm51.FormCreate(Sender: TObject);
begin
SetWindowLong(TabSheet1.Handle,GWL_STYLE,GetWindowLong(TabSheet1.Handle, GWL_STYLE) and not (CS_HREDRAW or CS_VREDRAW));
end;
← →
Черный Шаман (2007-09-06 20:09) [17]Намутил, вот так правильно
SetClassLong(TabSheet1.Handle,GCL_STYLE, GetClassLong(TabSheet1.Handle, GCL_STYLE) and not (CS_HREDRAW or CS_VREDRAW));
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.039 c