Quanto à minha segunda questão:
Tá ai no exemplo.
Precisa desenha a janela PRIMEIRO.
Depois use o CodeBlock bActivate. Use oDlg:Show() para mostrar a janela com os componentes. O exemplo ensina.
Lembrando que DO WHILE pode travar a DIALOG se for muito longo, use:
IF ++nRecs == 100
hwg_processmessage() ; nRecs := 0
EndIf
Senão vai travar a tela!
Saudações,
Itamar M. Lins Jr.