Como obtenho acesso aos elementos da GUI em uma caixa de diálogo IUP carregada de um arquivo de LED?

Estou apaixonado pela IUP! No entanto, não consigo descobrir como obter acesso programático (em C) aos elementos da GUI em uma caixa de diálogo carregada porIupLoad() de um arquivo de LED.

1extremamente trabalhoso maneira seria editar o arquivo de LED paraforneça manualmente nomes de identificadores para cada elemento da GUI, defina manualmente as variáveis correspondentes para cada elemento em C e carregue manualmente os identificadores em cada variável usandoIupGetHandle().

1confortável maneira de fazer isso seriaconverter o arquivo de LED em um arquivo de cabeçalho C usando a ferramenta de diálogo Layout embutida. O código resultante torna cada elemento disponível para o aplicativo em uma matriz simples chamadaIhandle* containers[]. Mas dessa maneira nos priva dos benefícios dos arquivos de LED, como a capacidade de editar a GUI de um aplicativo binário pelo usuário e manter o código C pequeno.

Não existeBoa maneira de fazer isso?

Substituo os benefícios de uma terceira via, se ela existir?

Não consigo encontrarIupLoad() exemplo emo diretório com exemplos C.

Meu próprio exemplo abaixo define explicitamente um nome de identificador apenas para o elemento superior (caixa de diálogo). Apresenta uma caixa de diálogo muito simples, onde definir cada elemento manualmente não seria um trabalho árduo. Mas este é apenas um exemplo de teste para Stack Overflow e minha pergunta é relevante para diálogos complexos.

Arquivo C:

#include <stdlib.h>
#include <iup.h>

int main(int argc, char **argv)
{
  IupSetGlobal("UTF8MODE", "YES");
  // IupSetGlobal("UTF8MODE_FILE", "YES");
  IupOpen(&argc, &argv);
  if(IupLoad("dropdown.led")) IupMessage("Error", "Failed to load LED.");
  else {
    Ihandle *dropdown = IupGetHandle("dropdown");
    IupShow(dropdown);
    IupMainLoop();
  }
  IupClose();
  return EXIT_SUCCESS;
}

Correspondentedropdown.led Arquivo:

dropdown = DIALOG[TITLE=dropdown.led](
  HBOX[CMARGIN=10x10,CGAP=10](
    LIST[VALUE=3, 1=я, 2=ты, 3=оно, 4=мы, 5=вы, 6=они, DROPDOWN=YES](do_nothing),
    LIST[VALUE=3, 1=ik, 2=je, 3=hij, 4=we, DROPDOWN=YES](do_nothing)
  )
)

O que nos leva a outra pergunta: como tornar visíveis os caracteres russos? Mas esta questão é devida a um tópico separado, que vou criar de acordo.

Todas as perguntas que pertencem a este exemplo específico:Como obtenho acesso aos elementos da GUI em uma caixa de diálogo IUP carregada de um arquivo de LED? (atual)Como tornar as letras russas visíveis em uma caixa de diálogo IUP carregada de um arquivo LED?Uma lacuna nas listas suspensas da IUP

questionAnswers(1)

yourAnswerToTheQuestion