Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Вниз

Win32Api и VCL   Найти похожие ветки 

 
AlexG   (2002-12-12 14:05) [0]

Можно ли в приложение созданом средствами WinApi как нибудь попользовать визуалный компонент из VCL?


 
Игорь Шевченко   (2002-12-12 14:33) [1]

Можно


 
Diamond Cat   (2002-12-13 03:53) [2]

типа
var
b:Tbutton;
begin
b:=Tbutton.create(..
with b do begin
parentwindow:=
left:=
top:=
и т.д.


 
AlexG   (2002-12-13 08:55) [3]

Спасибо помогло! Помогла "строка parentwindow:="
Правда мне надо создать DBGrid попробовал этим способом выдает ошибку не пойму в чем дело, ошибка следующая:

Project Phone.exe raised exception class EListError with message "List index out of bounds (0)". Process stopped. Use Step or Run to continue.


 
Игорь Шевченко   (2002-12-13 09:38) [4]

Отладчик в руки и искать ошибку.


 
AlexG   (2002-12-13 09:52) [5]

Хороший совет! только не сильно помогает!

приведу код
вроде бы он полностью коректен

program Phone;



uses
Windows,
Messages,
Grids,
DBGrids;

var
Wc: TWndClassEx;
MainWnd: HWND;
Mesg: TMsg;

function WindowProc(wnd:HWND; Msg: Integer; Wp: WParam; Lp: LParam): LResult; stdcall;
begin
case msg of
wm_destroy:
begin
PostQuitMessage(0);
Exit;
Result := 0;
end;
else
Result := DefWindowProc(wnd, msg, wp, lp);
end;
end;


var
xPos,yPos,nWidth,nHeight : Integer;
Gr: TDBGrid;
B1: HWND;
begin
wc.cbSize:=sizeof(wc);
wc.style:=cs_hredraw or cs_vredraw;
wc.lpfnWndProc:=@WindowProc;
wc.cbClsExtra:=0;
wc.cbWndExtra:=0;
wc.hInstance:=HInstance;
wc.hIcon:=LoadIcon(0,IDI_INFORMATION);
wc.hCursor:=LoadCursor(0,idc_arrow);
wc.hbrBackground:=COLOR_BTNFACE+1;
wc.lpszMenuName:=nil;
wc.lpszClassName:="WinMin : Main";

RegisterClassEx(wc);
xPos:=200;
yPos:=200;
nWidth:=400;
nHeight:=300;

MainWnd:=CreateWindowEx(0,"WinMin : Main","Phone",ws_overlappedwindow,
xPos,yPos,nWidth,nHeight,0,0,Hinstance,nil);


Gr := TDBGrid.Create(nil);
with Gr do
begin
Left := 10;
Top := 10;
Width := 100;
Height := 100;
ParentWindow := Mainwnd;;
end;


ShowWindow(MainWnd,SW_NORMAL);



While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;


end.


но ошибка все равно выходит хоть ты че делай!


 
Ketmar   (2002-12-13 10:54) [6]

хм... а рассказать DBGrid"у, откуда ему данные брать - ни-ни?

Satanas Nobiscum! 13-Dec-XXXVII A.S.


 
AlexG   (2002-12-13 11:12) [7]

а зачем ему данные брать!
в Делфевом приложении он и без данных прорисовывается!


 
Игорь Шевченко   (2002-12-13 11:35) [8]

AlexG (13.12.02 11:12)

DBGrid при своем прорисовке вызывает метод ValidParentForm (если тебе лень пользоваться отладчиком), который в твоем случае возвращает значение nil, так как формы нету. Отсюда вывод - не получится DBGrid и прочие компоненты, которым позарез форма нужна, класть на произвольное окно.
А отладчик - рулез. Рекомендую. Исходники VCL - тоже рулез. Рекомендую. И "Учиться, учиться и учиться", как завещал великий Ленин.


 
AlexG   (2002-12-13 11:55) [9]

Че за отладчик?
а вообще то когда я прицепил к DBGrid_у DataSource и к той TTable
он все таки запустился, но нет нет выкидывает тип того
"---------------------------
Phone
---------------------------
Control "" has no parent window.
---------------------------
OK
---------------------------
"


 
AlexG   (2002-12-13 13:41) [10]

Нельзя так нелья! может кто подскажет как средстваи винапи работать с базами и в к данном случае с быть с DBGrido_м


 
Игорь Шевченко   (2002-12-13 14:14) [11]

А зачем себе такой геморрой устраивать ? Кода получится немеряно, ошибки искать замучаешься, размер все равно будет большой.
Не проще ли обычный путем, форма, DataSet, DataSource, DBGrid ?



 
Anatoly Podgoretsky   (2002-12-13 14:28) [12]

Размер возможно еще и больше будет, за счет дублирования кода



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
6-86997
Moscower
2002-11-28 20:46
2003.01.27
Как узнать физический номер сетевой карты?


1-86952
Дмитрий К.К.
2003-01-16 09:52
2003.01.27
Общее свойство компонентов


4-87215
bent
2002-12-11 07:10
2003.01.27
System Menu


1-86846
Gamar
2003-01-19 15:51
2003.01.27
Прерывание затяжной функции


3-86714
anton2v
2003-01-09 17:46
2003.01.27
Работа с dbf альтернативой BDE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский